home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / falcon / programm.ing / motorola.doc < prev    next >
Text File  |  1995-11-11  |  340KB  |  7,744 lines

  1.  
  2.  
  3.           Documentation on the MC68030 processor by Bjørn Ove Årthun
  4.           Also known as Zynx/Inferiors (ex Imagina). or as Hei on irc
  5.  
  6.  
  7.           I wrote this doc as there are no good docs on the 030. This doc
  8.           will be ugraded a couple of times -  at least every month.
  9.           The next version will include about 10 more pages about
  10.           optimizing
  11.  
  12.           any ideas or suggestions contact:
  13.  
  14.           Bjorn Ove Arthun, ulsbergtunet 11, 4033 Forus, Norway
  15.       
  16.  
  17.           I am a game developer. Check out my stargate 2000 game for the 
  18.           Falcon on this web page:
  19.  
  20.  
  21.           http://www-users.informatik.rwth-aachen.de/~neil/ad/
  22.  
  23.  
  24. ----------------------------------------------------------------------------
  25.  
  26. +--------------------------------------------------------------------------+
  27. |Mnemonic   |Description              |Mnemonic |Description               |
  28. +--------------------------------------------------------------------------+
  29. |ACBD       |Add Decimal with Extend  |MULS     |Signed Multiply    
  30. |ADD        |Add                      |MULU     |Unsigned Multiply
  31. |ADDA       |Add Address              |---------|---------------------------
  32. |ADDI       |Add Immediate            |NBCD     |Negate Decimal with Extend
  33. |ADDQ       |Add Quick                |NEG      |Negate
  34. |ADDX       |Add with Extend          |NEGX     |Negate with Extend
  35. |AND        |Logical AND              |NOP      |No Operation
  36. |ANDI       |Logical AND Immediate    |NOT      |Logical Complement
  37. |ASL, ASR   |Arithmetic Shift L/R     |---------|---------------------------
  38. |-----------|                         |OR       |Logical inclusive Or
  39. |Bcc        |Branch Conditionally     |ORI      |Logical inclusive Immediate
  40. |BCHG       |Test Bit and change      |---------|---------------------------
  41. |BFCLR      |Test Bit Field and Clr   |PACK     |Pack BCD
  42. |BFEXTS     |Signed Bit Field Extract |PEA      |Push Effective Address
  43. |BFEXTU     |Unsigned -----||-----    |---------|---------------------------
  44. |BFFFO      |Bit Field Find First One |RESET    |Reset External Devices
  45. |BFINS      |Bit Field Insert         |ROL, ROR |Rotate Left and Right
  46. |BFSET      |Test Bit Field and Set   |ROXL,ROXR|Rotate with Extend
  47. |BFTST      |Test Bit Field           |RTD      |Return and Deallocate
  48. |BKPT       |Breakpoint               |RTE      |Return from Exception
  49. |BRA        |Branch                   |RTM      |Return from Module
  50. |BSET       |Test Bit and Set         |RTR      |Return from Restore Codes
  51. |BSR        |Branch to Subroutine     |RTS      |Return from Subroutine
  52. |BTST       |Test Bit                 |---------|---------------------------
  53. |-----------|                         |SBCD     |Subtr. Decimal with Extend
  54. |CALLM      |Call Module              |Scc      |Set Conditionally
  55. |CAS        |Compare and Swap Operands|STOP     |Stop
  56. |CAS2       |As above in Dual Mode    |SUB      |Subtract
  57. |CHK        |Check Reg: Against Bound |SUBA     |Subtract Address
  58. |CHK2       |Check Against Upper and  |SUBI     |Subtract Immediate
  59. |           |Lower Bounds             |SUBQ     |Subtract Quick
  60. |CLR        |Clear                    |SUBX     |Subtract with Extend
  61. |CMP        |Compare                  |SWAP     |Swap Register words
  62. |CMPA       |Compare Address          |---------|---------------------------
  63. |CMPI       |Compare Immediate        |TAS      |Test Operand and Set
  64. |CMPM       |Compare Memory to Memory |TRAP     |Trap
  65. |CMP2       |Compare Register Against |TRAPcc   |Trap Conditionally
  66. |           |Upper and Lower Bounds   |TRAPV    |Trap on Overflow
  67. |-----------|                         |TST      |Test Operand
  68. |DBcc       |Test Condition, Decrement|---------|---------------------------
  69. |           |and Branch               |UNLK     |Unlink
  70. |DIVS, DIVSL|Signed Divide            |UNPK     |Unpack
  71. |DIVU, DIVUL|Unsigned Divide          |-------------------------------------
  72. |-----------|                         |      CoProcessor Instructions     
  73. |EOR        |Exclusive Or             |-------------------------------------
  74. |EORI       |Exclusive Or Immediate   |cpBcc    |Branch Conditionally
  75. |EXG        |Exchange Registers       |cpDBcc   |Test Condition, 
  76. |EXT, EXTB  |Signed Extend            |         |Decrement and Branch
  77. |-----------|                         |cpGEN    |Coprocessor General Instr.
  78. |ILLEGAL    |Take Illegal Instruction |cpRESTORE|Restore Internal State
  79. |           |Trap                     |cpSAVE   |Save Internal State
  80. |-----------|                         |cpScc    |Set Conditionally
  81. |JMP        |Jump                     |cpTRAPcc |Trap Conditionally
  82. |JSR        |Jump to Subroutine       |---------+---------------------------
  83. |-----------|                         |    Unofficial Instructions
  84. |LEA        |Load Effective Address   |-------------------------------------
  85. |LINK       |Link and Allocate        |         |
  86. |LSL, LSR   |Logical Shift Left and   |         |Not complete. :)
  87. |           |Right                    |         |
  88. |-----------|                         |         |
  89. |MOVE       |Move                     |         |
  90. |MOVEA      |Move Address             |         |
  91. |MOVE CCR   |Move Condition Code Reg. |         |
  92. |MOVE SR    |Move Status Register     |         |
  93. |MOVE USP   |Move User Stack Pointer  |         |
  94. |MOVEC      |Move Control Register    |         |
  95. |MOVEM      |Move Multiple            |         |
  96. |MOVEP      |Move Peripheral          |         |
  97. |MOVEQ      |Move Quick               |         |
  98. |MOVES      |Move Alternate Address   |         |
  99. |           |Space                    |         |
  100. +
  101. |     Dual Mode: 64 bit processing intructions eg. Muls.l d0,d1:d2 
  102. |    The Destination Operand is in 64 bit format 
  103. +--------------------------------------------------------------------------+
  104. |              Addressing Modes and Assembler Syntax
  105. +--------------------------------------------------------------------------+
  106. |Address Modes                Syntax
  107. +--------------------------------------------------------------------------+
  108.  
  109. 01. Data register direct            Dn
  110. ------------------------------------------------------------
  111. 02. Address register direct            An
  112. ------------------------------------------------------------
  113. 03. Address register indirect            (An)+
  114.     with postincrement         
  115. ------------------------------------------------------------
  116. 04. Address register indirect            -(An)
  117.     with predecrement
  118. ------------------------------------------------------------
  119. 05. Address register indirect            (d16,An)
  120.     with displacement
  121. ------------------------------------------------------------
  122. 06. Address register indirect            (d8,An,Xn)
  123.     with index (8bit displacement)        
  124. ------------------------------------------------------------
  125. 07. Address register indirect            (bd,An,Xn)
  126.     with index (base displacement)    
  127. ------------------------------------------------------------
  128. 08. Memory indirect postindexed            ([bd,An],Xn,od)
  129. ------------------------------------------------------------
  130. 09. Memory indirect preindexed            ([bd,An,Xn],od)
  131. ------------------------------------------------------------
  132. 0a. Absolute short                       (xxx).W
  133. ------------------------------------------------------------
  134. 0b. Absolute long                       (www).L
  135. ------------------------------------------------------------
  136. 0c. Program counter indirect            (d16,PC)
  137.     with displacement
  138. ------------------------------------------------------------
  139. 0d. Program counter indirect with            (d8,PC,Xn)
  140.     index (8-bit displacement)
  141. ------------------------------------------------------------
  142. 0e. Program counter indirect with            (bd,An,Xn)
  143.     index (base displacement)
  144. ------------------------------------------------------------
  145. 0f. PC memory indirect postindexed            ([bd,PC],Xn,od)
  146. ------------------------------------------------------------
  147. 10. PC memory indirect preindexed            ([bd,PC,Xn],od)
  148. ------------------------------------------------------------
  149. 11. Immediate                #<data>
  150. ------------------------------------------------------------
  151.  
  152.  
  153. +--------------------------------------------------------------------------+
  154. |            Instruction Assembler Syntax
  155. +--------------------------------------------------------------------------+
  156.  
  157.            Instructions are separated by asterix lines.
  158. ****************************************************************************
  159. Add Binary Coded Decimal w/extend
  160.  
  161. NAME    ABCD -- Add binary coded decimal
  162.  
  163. SYNOPSIS    ABCD    Dy,Dx
  164.     ABCD    -(Ay),-(Ax)
  165.  
  166.     Size = Byte
  167.  
  168. FUNCTION
  169.        Adds the source operand to the destination operand along with
  170.     the extend bit, result is stored in the destination location.
  171.     The addition is performed using binary coded decimal arithmetic.
  172.     The operands, which are packed BCD numbers, can be addressed in
  173.     two different ways:
  174.  
  175.     1. Data register to data register: The operands are contained
  176.        in the data registers specified in the instruction.
  177.  
  178.     2. Memory to memory: The operands are addressed with the
  179.        predecremented addressing mode using the address registers
  180.        specified in the instruction.
  181.  
  182.     This operation is a byte operation only.
  183.  
  184.     Normally the Z condition code bit is set via programming before
  185.     the start of an operation. That allows successful tests for
  186.     zero results upon completion of multiple-precision operations.
  187.  
  188. FORMAT
  189.        +---------------------------------------------------------------+
  190.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  191.        |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  192.        | 1 | 1 | 0 | 0 |    Rx     | 1 | 0 | 0 | 0 | 0 |R/M|    Ry     |
  193.        +---------------------------------------------------------------+
  194.  
  195.     R/M = 0 -> data register
  196.     R/M = 1 -> address register
  197.     Rx:   destination register
  198.     Ry:   source register
  199.  
  200. RESULT
  201.     X - Set the same as the carry bit.
  202.     N - Undefined
  203.     Z - Cleared if the result is non-zero. Unchanged otherwise.
  204.     V - Undefined
  205.     C - Set if a decimal carry was generated. Cleared otherwise.
  206. ****************************************************************************
  207. ADD integer
  208.  
  209. NAME    ADD -- Add integer
  210.  
  211. SYNOPSIS    ADD    <ea>,Dn
  212.     ADD    Dn,<ea>
  213.  
  214.     Size = Byte, Word, Long
  215.  
  216. FUNCTION    
  217.     Source- and destination-operand are added using binary addition.
  218.     The result is stored in the destination location
  219.     The size of the operation may be specified as byte, word, or
  220.     long. The mode of the instruction indicates which operand is the
  221.     source and which is the destination as well as the operand size.
  222.  
  223. FORMAT
  224.        +---------------------------------------------------------------+
  225.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  226.        |---|---|---|---|-----------|-----------|-----------|-----------|
  227.        | 1 | 1 | 0 | 1 |  REGISTER |  OP-MODE  |    MODE   |  REGISTER |
  228.        +---------------------------------------========================+
  229.                                                           <ea>
  230.  
  231. OP-MODE    Byte    Word    Long
  232.     ~~~~    ~~~~    ~~~~
  233.     000    001    010    (Dn) + (<ea>) -> Dn
  234.     100    101    110    (<ea>) + (Dn) -> <ea>
  235.  
  236. REGISTER    One of the 8 datas registers
  237.  
  238.        If <ea> is source, allowed addressing modes are:
  239.        +-------------------------------+ +-----------------------------+
  240.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  241.        |-------------------------------| |-----------------------------|
  242.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  243.        |-------------------------------| |-----------------------------|
  244.        |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  245.        |-------------------------------| |-----------------------------|
  246.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  247.        |-------------------------------| |-----------------------------|
  248.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  249.        |-------------------------------| |-----------------------------|
  250.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  251.        |-------------------------------| |-----------------------------|
  252.        |   (d16,An)    |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  253.        |-------------------------------| |-----------------------------|
  254.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  255.        |-------------------------------| |-----------------------------|
  256.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  257.        |-------------------------------| +-----------------------------+
  258.        |([bd,An,Xi]od) |110 |Nã reg. An|
  259.        |-------------------------------|
  260.        |([bd,An],Xi,od)|110 |Nã reg. An|
  261.        +-------------------------------+
  262.      * Word or Long only
  263.  
  264.        If <ea> is destination, allowed addressing modes are:
  265.        +-------------------------------+ +-----------------------------+
  266.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  267.        |-------------------------------| |-----------------------------|
  268.        |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  269.        |-------------------------------| |-----------------------------|
  270.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  271.        |-------------------------------| |-----------------------------|
  272.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  273.        |-------------------------------| |-----------------------------|
  274.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  275.        |-------------------------------| |-----------------------------|
  276.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  277.        |-------------------------------| |-----------------------------|
  278.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  279.        |-------------------------------| |-----------------------------|
  280.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  281.        |-------------------------------| |-----------------------------|
  282.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  283.        |-------------------------------| +-----------------------------+
  284.        |([bd,An,Xi]od) |110 |Nã reg. An|
  285.        |-------------------------------|
  286.        |([bd,An],Xi,od)|110 |Nã reg. An|
  287.        +-------------------------------+
  288.        When destination is an Address Register, ADDA instruction is used.
  289.  
  290. RESULT
  291.     X - Set the same as the carry bit.
  292.     N - Set if the result is negative. Cleared otherwise.
  293.     Z - Set if the result is zero. Cleared otherwise.
  294.     V - Set if an overflow is generated. Cleared otherwise.
  295.     C - Set if a carry is generated. Cleared otherwise.
  296. ****************************************************************************
  297. ADD Address
  298.  
  299. NAME    ADDA -- Add address
  300.  
  301. SYNOPSIS    ADDA    <ea>,An
  302.  
  303.     Size = Word, Long
  304.  
  305. FUNCTION
  306.        Adds the source operand to the destination address register,
  307.     and stores the result in the destination address register. The
  308.     size of the operation may be specified as word or long. The
  309.     entire destination operand is used regardless of the operation
  310.     size.
  311.  
  312. FORMAT
  313.        +---------------------------------------------------------------+
  314.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  315.        |---|---|---|---|-----------|-----------|-----------|-----------|
  316.        | 1 | 1 | 0 | 1 |  REGISTER |  OP-MODE  |    MODE   |  REGISTER |
  317.        +---------------------------------------========================+
  318.                                                          <ea>
  319.        P-MODE    Indicates operation lenght:
  320.        011->one Word operation: source operand is extended to 32 bits
  321.        111->one Long operation
  322.        REGISTER    One of the 8 address registers.
  323.     <ea> is always source, all addressing modes are allowed.
  324.  
  325.        +-------------------------------+ +-----------------------------+
  326.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  327.        |-------------------------------| |-----------------------------|
  328.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  329.        |-------------------------------| |-----------------------------|
  330.        |      An       |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  331.        |-------------------------------| |-----------------------------|
  332.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  333.        |-------------------------------| |-----------------------------|
  334.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  335.        |-------------------------------| |-----------------------------|
  336.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  337.        |-------------------------------| |-----------------------------|
  338.        |   (d16,An)    |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  339.        |-------------------------------| |-----------------------------|
  340.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  341.        |-------------------------------| |-----------------------------|
  342.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  343.        |-------------------------------| +-----------------------------+
  344.        |([bd,An,Xi]od) |110 |Nã reg. An|
  345.        |-------------------------------|
  346.        |([bd,An],Xi,od)|110 |Nã reg. An|
  347.        +-------------------------------+
  348.  
  349. RESULT    None.
  350. ****************************************************************************
  351. ADD Immediate
  352.  
  353. NAME    ADDI -- Add immediate
  354.  
  355. SYNOPSIS    ADDI    #<data>,<ea>
  356.  
  357.     Size = Byte, Word, Long
  358.  
  359. FUNCTION
  360.        Adds the immediate data to the destination operand, and
  361.     stores the result in the destination location. The size of the
  362.     operation may be specified as byte, word, or long. The size
  363.     of the immediate data matches the operation size.
  364.  
  365. FORMAT
  366.                                                           <ea>
  367.        +---------------------------------------========================+
  368.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  369.        |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  370.        | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | SIZE  |   MODE    |  REGISTER |
  371.        |---------------------------------------------------------------|
  372.        | 16 BITS DATA (with last Byte) |          8 BITS DATA          |
  373.        |---------------------------------------------------------------|
  374.        |             32 BITS DATA (included last Word)                 |
  375.        +---------------------------------------------------------------+
  376.  
  377. SIZE
  378.     00->one Byte operation
  379.     01->one Word operation
  380.     10->one Long operation
  381.  
  382. REGISTER    
  383.  
  384.        <ea> is always destination, addressing modes are the following:
  385.        +-------------------------------+ +-----------------------------+
  386.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  387.        |-------------------------------| |-----------------------------|
  388.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  389.        |-------------------------------| |-----------------------------|
  390.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  391.        |-------------------------------| |-----------------------------|
  392.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  393.        |-------------------------------| |-----------------------------|
  394.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  395.        |-------------------------------| |-----------------------------|
  396.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  397.        |-------------------------------| |-----------------------------|
  398.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  399.        |-------------------------------| |-----------------------------|
  400.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  401.        |-------------------------------| |-----------------------------|
  402.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  403.        |-------------------------------| +-----------------------------+
  404.        |([bd,An,Xi]od) |110 |Nã reg. An|
  405.        |-------------------------------|
  406.        |([bd,An],Xi,od)|110 |Nã reg. An|
  407.        +-------------------------------+
  408.  
  409. RESULT
  410.     X - Set the same as the carry bit.
  411.     N - Set if the result is negative. Cleared otherwise.
  412.     Z - Set if the result is zero. Cleared otherwise.
  413.     V - Set if an overflow is generated. Cleared otherwise.
  414.     C - Set if a carry is generated. Cleared otherwise.
  415.  
  416. ****************************************************************************
  417.  
  418. ADD 3-bit immediate Quick
  419.  
  420. NAME    ADDQ -- Add 3-bit immediate quick
  421.  
  422. SYNOPSIS    ADDQ    #<data>,<ea>
  423.  
  424.     Size = Byte, Word, Long
  425.  
  426. FUNCTION
  427.        Adds the immediate value of 1 to 8 to the operand at the
  428.     destination location. The size of the operation may be specified
  429.     as byte, word, or long. When adding to address registers,
  430.     the condition codes are not altered, and the entire destination
  431.     address register is used regardless of the operation size.
  432.  
  433. FORMAT
  434.        +---------------------------------------------------------------+
  435.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  436.        |---|---|---|---|-----------|---|-------|-----------|-----------|
  437.        | 0 | 1 | 0 | 1 |    DATA   | 0 | SIZE  |    MODE   |  REGISTER |
  438.        +---------------------------------------========================+
  439.                                                          <ea>
  440.  
  441.                            
  442.  
  443. DATA    000        ->represent value 8
  444.     001 to 111 ->immediate data from 1 to 7
  445.  
  446. SIZE    00->one Byte operation
  447.     01->one Word operation
  448.     10->one Long operation
  449.  
  450. REGISTER    <ea> is always destination, addressing modes are the following:
  451.  
  452.        +-------------------------------+ +-----------------------------+
  453.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  454.        |-------------------------------| |-----------------------------|
  455.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  456.        |-------------------------------| |-----------------------------|
  457.        |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  458.        |-------------------------------| |-----------------------------|
  459.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  460.        |-------------------------------| |-----------------------------|
  461.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  462.        |-------------------------------| |-----------------------------|
  463.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  464.        |-------------------------------| |-----------------------------|
  465.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  466.        |-------------------------------| |-----------------------------|
  467.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  468.        |-------------------------------| |-----------------------------|
  469.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  470.        |-------------------------------| +-----------------------------+
  471.        |([bd,An,Xi]od) |110 |Nã reg. An|
  472.        |-------------------------------|
  473.        |([bd,An],Xi,od)|110 |Nã reg. An|
  474.        +-------------------------------+
  475.      * Word or Long only.
  476.  
  477. RESULT    X - Set the same as the carry bit.
  478.     N - Set if the result is negative. Cleared otherwise.
  479.     Z - Set if the result is zero. Cleared otherwise.
  480.     V - Set if an overflow is generated. Cleared otherwise.
  481.     C - Set if a carry is generated. Cleared otherwise.
  482.  
  483. ****************************************************************************
  484.  
  485. ADD integer with eXtend
  486.  
  487. NAME    ADDX -- Add integer with extend
  488.  
  489. SYNOPSIS    ADDX    Dy,Dx
  490.     ADDX    -(Ay),-(Ax)
  491.  
  492.     Size = Byte, Word, Long
  493.  
  494. FUNCTION
  495.        Adds the source operand to the destination operand along with
  496.     the extend bit, and stores the result in the destination 
  497.     location. The addition is performed using binary coded decimal
  498.     arithmetic. The operands, which are packed BCD numbers, can
  499.     be addressed in two different ways:
  500.  
  501.     1. Data register to data register: The operands are contained
  502.        in the data registers specified in the instruction.
  503.  
  504.     2. Memory to memory: The operands are addressed with the
  505.        predecrement addressing mode using the address registers
  506.        specified in the instruction.
  507.  
  508.     The size of operation can be specified as byte, word, or long.
  509.  
  510.     Normally the Z condition code bit is set via programming before
  511.     the start of an operation. That allows successful tests for zero
  512.     results upon completion of multiple-precision operations.
  513.  
  514. FORMAT
  515.        +---------------------------------------------------------------+
  516.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  517.        |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  518.        | 1 | 1 | 0 | 1 |    Rx     | 1 | SIZE  | 0 | 0 |R/M|    Ry     |
  519.        +---------------------------------------------------------------+
  520.  
  521.     R/M = 0 -> data register
  522.     R/M = 1 -> address register
  523.     Rx:   destination register
  524.     Ry:   source register
  525.  
  526. SIZE    00->one Byte operation
  527.     01->one Word operation
  528.     10->one Long operation
  529.  
  530. RESULT    X - Set the same as the carry bit.
  531.     N - Set if the result is negative. Cleared otherwise.
  532.     Z - Cleared if the result is non-zero. Unchanged otherwise.
  533.     V - Set if an overflow is generated. Cleared otherwise.
  534.     C - Set if a carry is generated. Cleared otherwise.
  535.  
  536. ****************************************************************************
  537.  
  538. Logical AND
  539.  
  540. NAME    AND -- Logical AND
  541.  
  542. SYNOPSIS    AND    <ea>,Dn
  543.     AND    Dn,<ea>
  544.  
  545.     Size = Byte, Word, Long
  546.  
  547. FUNCTION
  548.        Performs a bit-wise AND operation with the source operand
  549.     and the destination operand and stores the result in the
  550.     destination. The size of the operation may be specified as
  551.     byte, word, or long. The contents of an address register may
  552.     not be used as an operand.
  553.  
  554. FORMAT
  555.        +---------------------------------------------------------------+
  556.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  557.        |---|---|---|---|-----------|-----------|-----------|-----------|
  558.        | 1 | 1 | 0 | 0 |  REGISTER |  OP-MODE  |    MODE   |  REGISTER |
  559.        +---------------------------------------========================+
  560.                                                          <ea>
  561.  
  562. OP-MODE    Byte    Word    Long
  563.     000    001    010    (Dn)AND(<ea>)-> Dn
  564.     100    101    110    (<ea>)AND(Dn)-> <ea>
  565.  
  566.  
  567. REGISTER
  568.  
  569.        One of the 8 datas registers
  570.        If <ea> is source, allowed addressing modes are:
  571.  
  572.        +-------------------------------+ +-----------------------------+
  573.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  574.        |-------------------------------| |-----------------------------|
  575.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  576.        |-------------------------------| |-----------------------------|
  577.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  578.        |-------------------------------| |-----------------------------|
  579.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  580.        |-------------------------------| |-----------------------------|
  581.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  582.        |-------------------------------| |-----------------------------|
  583.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  584.        |-------------------------------| |-----------------------------|
  585.        |   (d16,An)    |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  586.        |-------------------------------| |-----------------------------|
  587.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  588.        |-------------------------------| |-----------------------------|
  589.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  590.        |-------------------------------| +-----------------------------+
  591.        |([bd,An,Xi]od) |110 |Nã reg. An|
  592.        |-------------------------------|
  593.        |([bd,An],Xi,od)|110 |Nã reg. An|
  594.        +-------------------------------+
  595.  
  596.        If <ea> is destination, allowed addressing modes are:
  597.  
  598.        +-------------------------------+ +-----------------------------+
  599.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  600.        |-------------------------------| |-----------------------------|
  601.        |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  602.        |-------------------------------| |-----------------------------|
  603.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  604.        |-------------------------------| |-----------------------------|
  605.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  606.        |-------------------------------| |-----------------------------|
  607.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  608.        |-------------------------------| |-----------------------------|
  609.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  610.        |-------------------------------| |-----------------------------|
  611.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  612.        |-------------------------------| |-----------------------------|
  613.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  614.        |-------------------------------| |-----------------------------|
  615.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  616.        |-------------------------------| +-----------------------------+
  617.        |([bd,An,Xi]od) |110 |Nã reg. An|
  618.        |-------------------------------|
  619.        |([bd,An],Xi,od)|110 |Nã reg. An|
  620.        +-------------------------------+
  621.  
  622.        AND between two datas registers is allowed if you consider the
  623.        syntax where Dn is at destination's place.
  624.  
  625.        If you use this instruction with an immediate data, it does the
  626.        same as instruction ANDI.
  627.     
  628.  
  629. RESULT    X - Not affected
  630.     N - Set if the most-significant bit of the result was set.
  631.         Cleared otherwise.
  632.     Z - Set if the result was zero. Cleared otherwise.
  633.     V - Always cleared.
  634.     C - Always cleared.
  635.  
  636. ****************************************************************************
  637.  
  638. Logical AND Immediate
  639.  
  640. NAME    ANDI -- Logical AND immediate
  641.  
  642. SYNOPSIS    ANDI    #<data>,<ea>
  643.  
  644.     Size = Byte, Word, Long
  645.  
  646. FUNCTION
  647.        Performs a bit-wise AND operation with the immediate data and
  648.     the destination operand and stores the result in the destination.
  649.     The size of ther operation can be specified as byte, word, or
  650.     long. The size of the immediate data matches the operation size.
  651.  
  652. FORMAT
  653.                                                           <ea>
  654.        +---------------------------------------========================+
  655.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  656.        |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  657.        | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | SIZE  |   MODE    |  REGISTER |
  658.        |---------------------------------------------------------------|
  659.        | 16 BITS DATA (with last Byte) |          8 BITS DATA          |
  660.        |---------------------------------------------------------------|
  661.        |             32 BITS DATA (included last Word)                 |
  662.        +---------------------------------------------------------------+
  663.  
  664. SIZE    00->one Byte operation
  665.     01->one Word operation
  666.     10->one Long operation
  667.  
  668. REGISTER
  669.        <ea> is always destination, addressing modes are the following:
  670.  
  671.        +-------------------------------+ +-----------------------------+
  672.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  673.        |-------------------------------| |-----------------------------|
  674.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  675.        |-------------------------------| |-----------------------------|
  676.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  677.        |-------------------------------| |-----------------------------|
  678.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  679.        |-------------------------------| |-----------------------------|
  680.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  681.        |-------------------------------| |-----------------------------|
  682.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  683.        |-------------------------------| |-----------------------------|
  684.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  685.        |-------------------------------| |-----------------------------|
  686.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  687.        |-------------------------------| |-----------------------------|
  688.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  689.        |-------------------------------| +-----------------------------+
  690.        |([bd,An,Xi]od) |110 |Nã reg. An|
  691.        |-------------------------------|
  692.        |([bd,An],Xi,od)|110 |Nã reg. An|
  693.        +-------------------------------+
  694.  
  695. RESULT    X - Not affected
  696.     N - Set if the most-significant bit of the result was set.
  697.         Cleared otherwise.
  698.     Z - Set if the result was zero. Cleared otherwise.
  699.     V - Always cleared.
  700.     C - Always cleared.
  701.  
  702. ****************************************************************************
  703.  
  704. Logical AND Immediate to CCR
  705.  
  706. NAME    ANDI to CCR -- Logical AND immediate to condition code register
  707.  
  708. SYNOPSIS    ANDI    #<data>,CCR
  709.  
  710.     Size = Byte
  711.  
  712. FUNCTION
  713.     Performs a bit-wise AND operation with the immediate data and
  714.     the lower byte of the status register.
  715.  
  716. FORMAT
  717.        +---------------------------------------------------------------+
  718.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  719.        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  720.        | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
  721.        |---|---|---|---|---|---|---|---|-------------------------------|
  722.        | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |     8 BITS IMMEDIATE DATA     |
  723.        +---------------------------------------------------------------+
  724.  
  725. RESULT
  726.        X - Cleared if bit 4 of immed. operand is zero. Unchanged otherwise.
  727.        N - Cleared if bit 3 of immed. operand is zero. Unchanged otherwise.
  728.        Z - Cleared if bit 2 of immed. operand is zero. Unchanged otherwise.
  729.        V - Cleared if bit 1 of immed. operand is zero. Unchanged otherwise.
  730.        C - Cleared if bit 0 of immed. operand is zero. Unchanged otherwise.
  731.  
  732. ****************************************************************************
  733.  
  734. Logical AND Immediate to SR (privileged)
  735.  
  736. NAME    ANDI to SR -- Logical AND immediate to status register (privileged)
  737.  
  738. SYNOPSIS    ANDI    #<data>,SR
  739.  
  740.     Size = Word
  741.  
  742. FUNCTION
  743.     Performs a bit-wise AND operation with the immediate data and
  744.     the status register. All implemented bits of the status register
  745.     are affected.
  746.  
  747. FORMAT
  748.        +---------------------------------------------------------------+
  749.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  750.        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  751.        | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
  752.        |---------------------------------------------------------------|
  753.        |                     16 BITS IMMEDIATE DATA                    |
  754.        +---------------------------------------------------------------+
  755.  
  756. RESULT
  757.        X - Cleared if bit 4 of immed. operand is zero. Unchanged otherwise.
  758.        N - Cleared if bit 3 of immed. operand is zero. Unchanged otherwise.
  759.        Z - Cleared if bit 2 of immed. operand is zero. Unchanged otherwise.
  760.        V - Cleared if bit 1 of immed. operand is zero. Unchanged otherwise.
  761.        C - Cleared if bit 0 of immed. operand is zero. Unchanged otherwise.
  762.  
  763. ****************************************************************************
  764.  
  765. Arithmetic Shift Left and Arithmetic Shift Right
  766.  
  767. NAME    ASL, ASR -- Arithmetic shift left and arithmetic shift right
  768.  
  769. SYNOPSIS    ASd    Dx,Dy
  770.     ASd    #<data>,Dy
  771.     ASd    <ea>
  772.     where d is direction, L or R
  773.  
  774.     Size = Byte, Word, Long
  775.  
  776. FUNCTION
  777.     Performs an arithmetic shifting bit operation in the indicated
  778.     direction, with an immediate data, or with a data register.
  779.     If you shift address contents, you can only do ONE shift, and
  780.     your operand is ONE word exclusively.
  781.  
  782.     ASL:              <--  
  783.           C <------ OPERAND <--- 0
  784.                 |
  785.                 |
  786.           X <---'
  787.            
  788.  
  789.     ASR:    -->
  790.     .---> OPERAND ------> C
  791.     |    T          |
  792.     |    |          |
  793.     `----'          `---> X
  794.  
  795. FORMAT
  796.        In the case of the shifting of a register:
  797.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  798.        +---------------------------------------------------------------+
  799.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  800.        |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  801.        | 1 | 1 | 1 | 0 |  NUMBER/  |dr |  SIZE |i/r| 0 | 0 | REGISTER  |
  802.        |   |   |   |   |  REGISTER |   |       |   |   |   |           |
  803.        +---------------------------------------------------------------+
  804.  
  805.        In the case of the shifting of a memory area:
  806.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  807.        +---------------------------------------------------------------+
  808.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  809.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  810.        | 1 | 1 | 1 | 0 | 0 | 0 | 0 |dr | 1 | 1 |    MODE   | REGISTER  |
  811.        +---------------------------------------========================+
  812.                                                          <ea>
  813.  
  814.  
  815. NUMBER/REGISTER
  816.        Specifies number of shifting or number of register which contents
  817.        the number of shifting.
  818.        If i/r = 0, number of shifting is specified in the instruction as
  819.        immediate data
  820.        If i/r = 1, it's specified in the data register.
  821.        If dr = 0, right shifting
  822.        If dr = 1, left shifting
  823.  
  824. SIZE   00->one Byte operation
  825.        01->one Word operation
  826.        10->one Long operation
  827.  
  828. REGISTER
  829.        For a register shifting:
  830.        Indicates the number of data register on which shifting is applied.
  831.  
  832.        For a memory shifting:
  833.        <ea> indicates operand which should be shifted.
  834.        Only addressing modes allowed are:
  835.  
  836.        +-------------------------------+ +-----------------------------+
  837.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  838.        |-------------------------------| |-----------------------------|
  839.        |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  840.        |-------------------------------| |-----------------------------|
  841.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  842.        |-------------------------------| |-----------------------------|
  843.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  844.        |-------------------------------| |-----------------------------|
  845.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  846.        |-------------------------------| |-----------------------------|
  847.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  848.        |-------------------------------| |-----------------------------|
  849.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  850.        |-------------------------------| |-----------------------------|
  851.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  852.        |-------------------------------| |-----------------------------|
  853.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  854.        |-------------------------------| +-----------------------------+
  855.        |([bd,An,Xi]od) |110 |Nã reg. An|
  856.        |-------------------------------|
  857.        |([bd,An],Xi,od)|110 |Nã reg. An|
  858.        +-------------------------------+
  859.  
  860. RESULT
  861.        X - Set according to the list bit shifted out of the operand.
  862.            Unaffected for a shift count of zero.
  863.        N - Set if the most-significant bit of the result is set. Cleared
  864.            otherwise.
  865.        Z - Set if the result is zero. Cleared otherwise.
  866.        V - Set if the most significant bit is changed at any time during
  867.            the shift operation. Cleared otherwise.
  868.        C - Set according to the list bit shifted out of the operand.
  869.            Cleared for a shift count of zero.
  870.  
  871. ****************************************************************************
  872. bingbangbong
  873.  
  874.  
  875. Conditional branch
  876.  
  877. NAME    Bcc -- Conditional branch
  878.  
  879. SYNOPSIS    Bcc    <label>
  880.  
  881.     Size = Byte, Word, Long*
  882.  
  883.     * 68020+ only
  884.  
  885. FUNCTION
  886.        If condition true then program execution continues at:
  887.        (PC) + offset.
  888.        PC value is instruction address more two.
  889.        Offset is the relative value in bytes which separate Bcc instruction
  890.        of mentioned label.
  891.  
  892.        Condition code 'cc' specifies one of the following:
  893.  
  894. 0000 F  False        Z = 1      1000 VC oVerflow Clear   V = 0
  895. 0001 T  True         Z = 0      1001 VS oVerflow Set     V = 1
  896. 0010 HI HIgh         C + Z = 0  1010 PL PLus             N = 0
  897. 0011 LS Low or Same  C + Z = 1  1011 MI MInus            N = 1
  898. 0100 CC Carry Clear  C = 0      1100 GE Greater or Equal N (+) V = 0
  899. 0101 CS Carry Set    C = 1      1101 LT Less Than        N (+) V = 1
  900. 0110 NE Not Equal    Z = 0      1110 GT Greater Than     Z + (N (+) V) = 0
  901. 0111 EQ EQual        Z = 1      1111 LE Less or Equal    Z + (N (+) V) = 1
  902.  
  903. FORMAT
  904.        +---------------------------------------------------------------+
  905.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  906.        |---|---|---|---|---------------|-------------------------------|
  907.        | 0 | 1 | 1 | 0 |   CONDITION   |         8 BITS OFFSET         |
  908.        |---------------------------------------------------------------|
  909.        |            16 BITS OFFSET, IF 8 BITS OFFSET = $00             |
  910.        |---------------------------------------------------------------|
  911.        |            32 BITS OFFSET, IF 8 BITS OFFSET = $FF             |
  912.        +---------------------------------------------------------------+
  913.  
  914. RESULT    None.
  915.  
  916. ****************************************************************************
  917.  
  918. Bit Change
  919.  
  920. NAME   BCHG -- Bit change
  921.  
  922. SYNOPSIS
  923.        BCHG    Dn,<ea>
  924.        BCHG    #<data>,<ea>
  925.  
  926.        Size = Byte, Long
  927.  
  928. FUNCTION
  929.        Tests a bit in the destination operand and sets the Z condition
  930.        code appropriately, then inverts the bit in the destination.
  931.        If the destination is a data register, any of the 32 bits can be
  932.        specified by the modulo 32 number. When the destination is a memory
  933.        location, the operation must be a byte operation, and therefore the
  934.        bit number is modulo 8. In all cases, bit zero is the least
  935.        significant bit. The bit number for this operation may be specified
  936.        in either of two ways:
  937.  
  938.        1. Immediate -- The bit number is specified as immediate data.
  939.        2. Register  -- The specified data register contains the bit number.
  940.  
  941. FORMAT
  942.        In the case of BCHG Dn,<ea>:
  943.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  944.        +---------------------------------------------------------------+
  945.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  946.        |---|---|---|---|-----------|---|---|---|-----------|-----------|
  947.        | 0 | 0 | 0 | 0 |  REGISTER | 1 | 0 | 1 |    MODE   | REGISTER  |
  948.        +---------------------------------------========================+
  949.                                                          <ea>
  950.  
  951.        In the case of BCHG #<data,<ea>:
  952.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  953.                                                          <ea>
  954.        +---------------------------------------========================+
  955.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  956.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  957.        | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |    MODE   | REGISTER  |
  958.        |---|---|---|---|---|---|---|---|-------------------------------|
  959.        | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |       NUMBER OF THE BIT       |
  960.        +---------------------------------------------------------------+
  961.  
  962. REGISTER
  963.        <ea> is always destination, addressing modes are the following:
  964.        +-------------------------------+ +-----------------------------+
  965.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  966.        |-------------------------------| |-----------------------------|
  967.        |      Dn *     |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  968.        |-------------------------------| |-----------------------------|
  969.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  970.        |-------------------------------| |-----------------------------|
  971.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  972.        |-------------------------------| |-----------------------------|
  973.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  974.        |-------------------------------| |-----------------------------|
  975.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  976.        |-------------------------------| |-----------------------------|
  977.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  978.        |-------------------------------| |-----------------------------|
  979.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  980.        |-------------------------------| |-----------------------------|
  981.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  982.        |-------------------------------| +-----------------------------+
  983.        |([bd,An,Xi]od) |110 |Nã reg. An|
  984.        |-------------------------------|
  985.        |([bd,An],Xi,od)|110 |Nã reg. An|
  986.        +-------------------------------+
  987.         * Long only; for others modes: Byte only.
  988.  
  989. RESULT
  990.        X - not affected
  991.        N - not affected
  992.        Z - Set if the bit tested is zero. Cleared otherwise.
  993.        V - not affected
  994.        C - not affected
  995.  
  996. ***********************************************************
  997.  
  998. Bit Clear
  999.  
  1000. NAME   BCLR -- Bit clear
  1001.  
  1002. SYNOPSIS    
  1003.        BCLR    Dn,<ea>
  1004.        BCLR    #<data>,<ea>
  1005.  
  1006.        Size = (Byte, Long)
  1007.  
  1008. FUNCTION
  1009.        Tests a bit in the destination operand and sets the Z
  1010.        condition code appropriately, then clears the bit in the destination.
  1011.        If the destination is a data register, any of the 32 bits can be
  1012.        specifice by the modulo 32 number. When the distination is a memory
  1013.        location, the operation must be a byte operation, and therefore the
  1014.        bit number is modulo 8. In all cases, bit zero is the least
  1015.        significant bit. The bit number for this operation may be specified
  1016.        in either of two ways:
  1017.  
  1018.        1. Immediate -- The bit number is specified as immediate data.
  1019.        2. Register  -- The specified data register contains the bit number.
  1020.  
  1021. FORMAT
  1022.        In the case of BCLR Dn,<ea>:
  1023.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1024.        +---------------------------------------------------------------+
  1025.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1026.        |---|---|---|---|-----------|---|---|---|-----------|-----------|
  1027.        | 0 | 0 | 0 | 0 |  REGISTER | 1 | 1 | 0 |    MODE   | REGISTER  |
  1028.        +---------------------------------------========================+
  1029.                                                          <ea>
  1030.  
  1031.        In the case of BCLR #<data,<ea>:
  1032.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1033.                                                          <ea>
  1034.        +---------------------------------------========================+
  1035.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1036.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1037.        | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |    MODE   | REGISTER  |
  1038.        |---|---|---|---|---|---|---|---|-------------------------------|
  1039.        | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |       NUMBER OF THE BIT       |
  1040.        +---------------------------------------------------------------+
  1041.  
  1042. REGISTER
  1043.        <ea> is always destination, addressing modes are the following:
  1044.        +-------------------------------+ +-----------------------------+
  1045.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1046.        |-------------------------------| |-----------------------------|
  1047.        |      Dn *     |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1048.        |-------------------------------| |-----------------------------|
  1049.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1050.        |-------------------------------| |-----------------------------|
  1051.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1052.        |-------------------------------| |-----------------------------|
  1053.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  1054.        |-------------------------------| |-----------------------------|
  1055.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  1056.        |-------------------------------| |-----------------------------|
  1057.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1058.        |-------------------------------| |-----------------------------|
  1059.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1060.        |-------------------------------| |-----------------------------|
  1061.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1062.        |-------------------------------| +-----------------------------+
  1063.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1064.        |-------------------------------|
  1065.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1066.        +-------------------------------+
  1067.         * Long only; for others modes: Byte only.
  1068.  
  1069. RESULT
  1070.        X - not affected
  1071.        N - not affected
  1072.        Z - Set if the bit tested is zero. Cleared otherwise.
  1073.        V - not affected
  1074.        C - not affected
  1075.  
  1076. ***********************************************************
  1077. Bit Field Change
  1078.  
  1079. NAME   BFCHG -- Bit field change
  1080.  
  1081. SYNOPSIS
  1082.        BFCHG  <ea>{OFFSET:WIDTH}    (68020+)
  1083.  
  1084.        No size specs.
  1085.  
  1086. FUNCTION
  1087.        <ea> indicates destination operand which a part of bits have to be
  1088.        inverted. Offset enables to locate first bit of field; width specifies
  1089.        number of bits of this field. Field is tested, flags are set, and bits
  1090.        of field are inverted.
  1091.        Be careful, this instruction operates from MSB to LSB!!
  1092.  
  1093. FORMAT
  1094.                                                          <ea>
  1095.        +---------------------------------------========================+
  1096.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1097.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1098.        | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  1099.        |---|---|---|---|---|-------------------|-----------------------|
  1100.        | 0 | 0 | 0 | 0 |Do |       OFFSET      |Dw |      WIDTH        |
  1101.        +---------------------------------------------------------------+
  1102.  
  1103.        If Do = 0->Field "OFFSET" contains an immediate value which represents
  1104.        effective offset, value from 0 to 31.
  1105.        If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1106.        and 10 of field cleared) which contains effective offset. Signed value
  1107.        is represented on 32 bits., so it's extended from -2 EXP 31 to
  1108.        (+2 EXP 31) -1.
  1109.  
  1110.        If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1111.        which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1112.        width of 32 bits.
  1113.        If Dw = 1->field "WIDTH" indicates number of a data register
  1114.        (bits 3 and 4 of field cleared) which contains width of bit field.
  1115.        The value modulo 32 can range from 1 to 31, indicating a width from
  1116.        1 to 31 bits. A value 0 indicates a width of 32 bits.
  1117.  
  1118. REGISTER
  1119.        <ea> is always destination, addressing modes are the following:
  1120.        +-------------------------------+ +-----------------------------+
  1121.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1122.        |-------------------------------| |-----------------------------|
  1123.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1124.        |-------------------------------| |-----------------------------|
  1125.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1126.        |-------------------------------| |-----------------------------|
  1127.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1128.        |-------------------------------| |-----------------------------|
  1129.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  | -  |   -    |
  1130.        |-------------------------------| |-----------------------------|
  1131.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  | -  |   -    |
  1132.        |-------------------------------| |-----------------------------|
  1133.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1134.        |-------------------------------| |-----------------------------|
  1135.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1136.        |-------------------------------| |-----------------------------|
  1137.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1138.        |-------------------------------| +-----------------------------+
  1139.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1140.        |-------------------------------|
  1141.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1142.        +-------------------------------+
  1143.  
  1144. RESULT
  1145.        X - not affected
  1146.        N - Set if MSB of field is set. Cleared otherwise.
  1147.        Z - Set if all the bits of the field tested are zero.
  1148.            Cleared otherwise.
  1149.        V - Always cleared.
  1150.        C - Always cleared.
  1151.  
  1152. ***********************************************************
  1153.  
  1154. Bit Field Clear
  1155.  
  1156. NAME   BFCLR -- Bit field clear
  1157.  
  1158. SYNOPSIS
  1159.        BFCLR  <ea>{OFFSET:WIDTH}    (68020+)
  1160.  
  1161.        No size specs.
  1162.  
  1163. FUNCTION
  1164.        <ea> indicates destination operand which a part of bits have to be
  1165.        cleared. Offset enables to locate first bit of field; width specifies
  1166.        number of bits of this field. Field is tested, flags are set, and bits
  1167.        of field are cleared.
  1168.        Be careful, this instruction operates from MSB to LSB!!
  1169.  
  1170. FORMAT
  1171.                                                          <ea>
  1172.        +---------------------------------------========================+
  1173.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1174.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1175.        | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |    MODE   | REGISTER  |
  1176.        |---|---|---|---|---|-------------------|-----------------------|
  1177.        | 0 | 0 | 0 | 0 |Do |       OFFSET      |Dw |      WIDTH        |
  1178.        +---------------------------------------------------------------+
  1179.  
  1180.        If Do = 0->Field "OFFSET" contains an immediate value which
  1181.        represents  effective offset, value from 0 to 31. If Do = 1->Field
  1182.        "OFFSET" indicates number of a data register (bits 9 and 10 of field
  1183.        cleared) which contains effective offset. Signed value is represented
  1184.        on 32 bits., so it's extended from -2 EXP 31 to (+2 EXP 31) -1.
  1185.        
  1186.        If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1187.        which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1188.        width of 32 bits.
  1189.        If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1190.        and 4 of field cleared) which contains width of bit field. The value
  1191.        modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1192.        A value 0 indicates a width of 32 bits.
  1193.  
  1194. REGISTER
  1195.        <ea> is always destination, addressing modes are the following:
  1196.        +-------------------------------+ +-----------------------------+
  1197.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1198.        |-------------------------------| |-----------------------------|
  1199.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1200.        |-------------------------------| |-----------------------------|
  1201.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1202.        |-------------------------------| |-----------------------------|
  1203.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1204.        |-------------------------------| |-----------------------------|
  1205.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  | -  |   -    |
  1206.        |-------------------------------| |-----------------------------|
  1207.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  | -  |   -    |
  1208.        |-------------------------------| |-----------------------------|
  1209.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1210.        |-------------------------------| |-----------------------------|
  1211.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1212.        |-------------------------------| |-----------------------------|
  1213.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1214.        |-------------------------------| +-----------------------------+
  1215.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1216.        |-------------------------------|
  1217.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1218.        +-------------------------------+
  1219.  
  1220. RESULT
  1221.        X - not affected
  1222.        N - Set if MSB of field is set. Cleared otherwise.
  1223.        Z - Set if all the bits of the field tested are zero.
  1224.            Cleared otherwise.
  1225.        V - Always cleared.
  1226.        C - Always cleared.
  1227.  
  1228. ***********************************************************
  1229.  
  1230. Bit Field Signed Extract
  1231.  
  1232. NAME
  1233.        BFEXTS -- Bit field signed extract
  1234.  
  1235. SYNOPSIS
  1236.        BFEXTS  <ea>{OFFSET:WIDTH},Dn    (68020+)
  1237.  
  1238.        No size specs.
  1239.  
  1240. FUNCTION
  1241.        <ea> indicates source operand which a part of bits have to be
  1242.        extracted and extended. Offset enables to locate first bit of field;
  1243.        width specifies    number of bits of this field. Field is extracted,
  1244.        and extended to 32 bits by the MSB of the field. Result is stored
  1245.        in the data register Dn.
  1246.        Be careful, this instruction operates from MSB to LSB!!
  1247.  
  1248. FORMAT
  1249.                                                          <ea>
  1250.        +---------------------------------------========================+
  1251.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1252.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1253.        | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |    MODE   | REGISTER  |
  1254.        |---|-----------|---|-------------------|-----------------------|
  1255.        | 0 |  REGISTER |Do |       OFFSET      |Dw |      WIDTH        |
  1256.        +---------------------------------------------------------------+
  1257.  
  1258.        If Do = 0->Field "OFFSET" contains an immediate value which
  1259.        represents effective offset, value from 0 to 31. If Do = 1->Field
  1260.        "OFFSET" indicates number of a data register (bits 9 and 10 of field
  1261.        cleared) which contains effective offset. Signed value is represented
  1262.        on 32 bits., so it's extended from -2 EXP 31 to (+2 EXP 31) -1.
  1263.        
  1264.        If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1265.        which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1266.        width of 32 bits.
  1267.        If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1268.        and 4 of field cleared) which contains width of bit field. The value
  1269.        modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1270.        A value 0 indicates a width of 32 bits.
  1271.        
  1272. REGISTER
  1273.        <ea> specifies destination, addressing modes are the following:
  1274.        +-------------------------------+ +-----------------------------+
  1275.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1276.        |-------------------------------| |-----------------------------|
  1277.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1278.        |-------------------------------| |-----------------------------|
  1279.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1280.        |-------------------------------| |-----------------------------|
  1281.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1282.        |-------------------------------| |-----------------------------|
  1283.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  1284.        |-------------------------------| |-----------------------------|
  1285.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  1286.        |-------------------------------| |-----------------------------|
  1287.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  1288.        |-------------------------------| |-----------------------------|
  1289.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1290.        |-------------------------------| |-----------------------------|
  1291.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1292.        |-------------------------------| +-----------------------------+
  1293.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1294.        |-------------------------------|
  1295.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1296.        +-------------------------------+
  1297.  
  1298. RESULT
  1299.        X - not affected
  1300.        N - Set if MSB of field is set. Cleared otherwise.
  1301.        Z - Set if all the bits of the field tested are zero.
  1302.            Cleared otherwise.
  1303.        V - Always cleared.
  1304.        C - Always cleared.
  1305.  
  1306. ***********************************************************
  1307.  
  1308. Bit Field Unsigned Extract
  1309. NAME
  1310.        BFEXTU -- Bit field unsigned extract"
  1311.  
  1312. SYNOPSIS
  1313.        BFEXTU  <ea>{OFFSET:WIDTH},Dn  (68020+)
  1314.  
  1315.        No size specs.
  1316.  
  1317. FUNCTION
  1318.        <ea> indicates source operand which a part of bits have to be
  1319.        extracted and extended. Offset enables to locate first bit of field;
  1320.        width specifies    number of bits of this field. Field is extracted,
  1321.        and extended to 32 bits by zero. Result is stored in the data
  1322.        register Dn.
  1323.        Be careful, this instruction operates from MSB to LSB!!
  1324.  
  1325. FORMAT
  1326.                                                          <ea>
  1327.        +---------------------------------------========================+
  1328.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1329.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1330.        | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |    MODE   | REGISTER  |
  1331.        |---|-----------|---|-------------------|-----------------------|
  1332.        | 0 |  REGISTER |Do |       OFFSET      |Dw |      WIDTH        |
  1333.        +---------------------------------------------------------------+
  1334.  
  1335.       If Do = 0->Field "OFFSET" contains an immediate value which represents
  1336.       effective offset, value from 0 to 31.
  1337.       If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1338.       and 10 of field cleared) which contains effective offset. Signed value
  1339.       is represented on 32 bits., so it's extended from -2 EXP 31 to
  1340.       (+2 EXP 31) -1.
  1341.  
  1342.       If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1343.       which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1344.       width of 32 bits.
  1345.       If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1346.       and 4 of field cleared) which contains width of bit field. The value
  1347.       modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1348.       A value 0 indicates a width of 32 bits.
  1349.  
  1350. REGISTER
  1351.        <ea> specifies destination, addressing modes are the following:
  1352.        +-------------------------------+ +-----------------------------+
  1353.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1354.        |-------------------------------| |-----------------------------|
  1355.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1356.        |-------------------------------| |-----------------------------|
  1357.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1358.        |-------------------------------| |-----------------------------|
  1359.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1360.        |-------------------------------| |-----------------------------|
  1361.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  1362.        |-------------------------------| |-----------------------------|
  1363.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  1364.        |-------------------------------| |-----------------------------|
  1365.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  1366.        |-------------------------------| |-----------------------------|
  1367.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1368.        |-------------------------------| |-----------------------------|
  1369.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1370.        |-------------------------------| +-----------------------------+
  1371.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1372.        |-------------------------------|
  1373.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1374.        +-------------------------------+
  1375.  
  1376. RESULT
  1377.        X - not affected
  1378.        N - Set if MSB of field is set. Cleared otherwise.
  1379.        Z - Set if all the bits of the field tested are zero.
  1380.            Cleared otherwise.
  1381.        V - Always cleared.
  1382.        C - Always cleared.
  1383.  
  1384. ***********************************************************
  1385.  
  1386. Bit Field Find First One set
  1387.  
  1388. NAME
  1389.        BFFFO -- Bit field find first one set
  1390.  
  1391. SYNOPSIS
  1392.        BFFFO    <ea>{OFFSET:WIDTH},Dn    (68020+)
  1393.  
  1394.        No size specs.
  1395.  
  1396. FUNCTION
  1397.        <ea> indicates source operand which a part of bits have to be
  1398.        examined. Offset enables to locate first bit of field; width
  1399.        specifies number of bits of this field. Field is examined,
  1400.        offset of first bit set is encountred, the MSB is stored in
  1401.        the data register Dn.
  1402.        Offset is equal to base offset more offset of bit into examined
  1403.        field.
  1404.        If no bits set are found, data register Dn contains a value which
  1405.        follows to initial offset more width of bit field. 
  1406.        Be careful, this instruction operates from MSB to LSB!!
  1407.  
  1408. FORMAT
  1409.                                                          <ea>
  1410.        +---------------------------------------========================+
  1411.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1412.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1413.        | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |    MODE   | REGISTER  |
  1414.        |---|-----------|---|-------------------|-----------------------|
  1415.        | 0 |  REGISTER |Do |       OFFSET      |Dw |      WIDTH        |
  1416.        +---------------------------------------------------------------+
  1417.  
  1418.       If Do = 0->Field "OFFSET" contains an immediate value which represents
  1419.       effective offset, value from 0 to 31.
  1420.       If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1421.       and 10 of field cleared) which contains effective offset. Signed value
  1422.       is represented on 32 bits., so it's extended from -2 EXP 31 to
  1423.       (+2 EXP 31) -1.
  1424.  
  1425.       If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1426.       which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1427.       width of 32 bits.
  1428.       If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1429.       and 4 of field cleared) which contains width of bit field. The value
  1430.       modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1431.       A value 0 indicates a width of 32 bits.
  1432.  
  1433. REGISTER
  1434.        <ea> specifies destination, addressing modes are the following:
  1435.        +-------------------------------+ +-----------------------------+
  1436.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1437.        |-------------------------------| |-----------------------------|
  1438.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1439.        |-------------------------------| |-----------------------------|
  1440.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1441.        |-------------------------------| |-----------------------------|
  1442.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1443.        |-------------------------------| |-----------------------------|
  1444.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  1445.        |-------------------------------| |-----------------------------|
  1446.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  1447.        |-------------------------------| |-----------------------------|
  1448.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  1449.        |-------------------------------| |-----------------------------|
  1450.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1451.        |-------------------------------| |-----------------------------|
  1452.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1453.        |-------------------------------| +-----------------------------+
  1454.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1455.        |-------------------------------|
  1456.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1457.        +-------------------------------+
  1458.  
  1459. RESULT
  1460.        X - not affected
  1461.        N - Set if MSB of field is set. Cleared otherwise.
  1462.        Z - Set if all the bits of the field tested are zero.
  1463.            Cleared otherwise.
  1464.        V - Always cleared.
  1465.        C - Always cleared.
  1466.  
  1467. ***********************************************************
  1468.  
  1469. Bit Field Insert
  1470.  
  1471. NAME
  1472.        BFINS -- Bit field insert
  1473.  
  1474. SYNOPSIS
  1475.        BFINS  Dn,<ea>{OFFSET:WIDTH}    (68020+)
  1476.  
  1477.        No size specs.
  1478.  
  1479. FUNCTION
  1480.        <ea> indicates destination operand which field of bits have to be
  1481.        inserted. Offset enables to locate first bit of field;
  1482.        width specifies    number of bits of this field.
  1483.        Bit field from Dn, which must be inserted in destination operand,
  1484.        is located in relation to bit zero. This bit zero, after insert,
  1485.        will have for offset: base offset more (width - 1).
  1486.        Be careful, this instruction operates from MSB to LSB!!
  1487.  
  1488. FORMAT
  1489.                                                          <ea>
  1490.        +---------------------------------------========================+
  1491.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1492.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1493.        | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |    MODE   | REGISTER  |
  1494.        |---|-----------|---|-------------------|-----------------------|
  1495.        | 0 |  REGISTER |Do |       OFFSET      |Dw |      WIDTH        |
  1496.        +---------------------------------------------------------------+
  1497.  
  1498.       If Do = 0->Field "OFFSET" contains an immediate value which represents
  1499.       effective offset, value from 0 to 31.
  1500.       If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1501.       and 10 of field cleared) which contains effective offset. Signed value
  1502.       is represented on 32 bits., so it's extended from -2 EXP 31 to
  1503.       (+2 EXP 31) -1.
  1504.  
  1505.       If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1506.       which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1507.       width of 32 bits.
  1508.       If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1509.       and 4 of field cleared) which contains width of bit field. The value
  1510.       modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1511.       A value 0 indicates a width of 32 bits.
  1512.  
  1513. REGISTER
  1514.        <ea> specifies destination, addressing modes are the following:
  1515.        +-------------------------------+ +-----------------------------+
  1516.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1517.        |-------------------------------| |-----------------------------|
  1518.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1519.        |-------------------------------| |-----------------------------|
  1520.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1521.        |-------------------------------| |-----------------------------|
  1522.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1523.        |-------------------------------| |-----------------------------|
  1524.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  | -  |   -    |
  1525.        |-------------------------------| |-----------------------------|
  1526.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  | -  |   -    |
  1527.        |-------------------------------| |-----------------------------|
  1528.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1529.        |-------------------------------| |-----------------------------|
  1530.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1531.        |-------------------------------| |-----------------------------|
  1532.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1533.        |-------------------------------| +-----------------------------+
  1534.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1535.        |-------------------------------|
  1536.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1537.        +-------------------------------+
  1538.  
  1539. RESULT
  1540.        X - not affected
  1541.        N - Set if MSB of field is set. Cleared otherwise.
  1542.        Z - Set if all the bits of the field tested are zero.
  1543.            Cleared otherwise.
  1544.        V - Always cleared.
  1545.        C - Always cleared.
  1546.  
  1547. ***********************************************************
  1548.  
  1549. Bit Field Set
  1550.  
  1551. NAME   BFSET -- Bit field set 
  1552.  
  1553. SYNOPSIS
  1554.        BFSET  <ea>{OFFSET:WIDTH}    (68020+)
  1555.  
  1556.        No size specs.
  1557.  
  1558. FUNCTION
  1559.        <ea> indicates destination operand which a part of bits have to be
  1560.        set. Offset enables to locate first bit of field; width specifies
  1561.        number of bits of this field. Field is tested, flags are set, and bits
  1562.        of field are set.
  1563.        Be careful, this instruction operates from MSB to LSB!!
  1564.  
  1565. FORMAT
  1566.                                                          <ea>
  1567.        +---------------------------------------========================+
  1568.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1569.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1570.        | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  1571.        |---|---|---|---|---|-------------------|-----------------------|
  1572.        | 0 | 0 | 0 | 0 |Do |       OFFSET      |Dw |      WIDTH        |
  1573.        +---------------------------------------------------------------+
  1574.  
  1575.        If Do = 0->Field "OFFSET" contains an immediate value which represents
  1576.        effective offset, value from 0 to 31.
  1577.        If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1578.        and 10 of field cleared) which contains effective offset. Signed value
  1579.        is represented on 32 bits., so it's extended from -2 EXP 31 to
  1580.        (+2 EXP 31) -1.
  1581.  
  1582.        If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1583.        which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1584.        width of 32 bits.
  1585.        If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1586.        and 4 of field cleared) which contains width of bit field. The value
  1587.        modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1588.        A value 0 indicates a width of 32 bits.
  1589.  
  1590. REGISTER
  1591.        <ea> is always destination, addressing modes are the following:
  1592.        +-------------------------------+ +-----------------------------+
  1593.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1594.        |-------------------------------| |-----------------------------|
  1595.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1596.        |-------------------------------| |-----------------------------|
  1597.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1598.        |-------------------------------| |-----------------------------|
  1599.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1600.        |-------------------------------| |-----------------------------|
  1601.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  | -  |   -    |
  1602.        |-------------------------------| |-----------------------------|
  1603.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  | -  |   -    |
  1604.        |-------------------------------| |-----------------------------|
  1605.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1606.        |-------------------------------| |-----------------------------|
  1607.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1608.        |-------------------------------| |-----------------------------|
  1609.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1610.        |-------------------------------| +-----------------------------+
  1611.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1612.        |-------------------------------|
  1613.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1614.        +-------------------------------+
  1615.  
  1616. RESULT
  1617.        X - not affected
  1618.        N - Set if MSB of field is set. Cleared otherwise.
  1619.        Z - Set if all the bits of the field tested are zero.
  1620.            Cleared otherwise.
  1621.        V - Always cleared.
  1622.        C - Always cleared.
  1623.  
  1624. ***********************************************************
  1625.  
  1626. Bit Field Test
  1627.  
  1628. NAME   BFTST -- Bit field test
  1629.  
  1630. SYNOPSIS
  1631.        BFTST  <ea>{OFFSET:WIDTH}    (68020+)
  1632.  
  1633.        No size specs.
  1634.  
  1635. FUNCTION
  1636.        <ea> indicates destination operand which a part of bits have to be
  1637.        tested. Offset enables to locate first bit of field; width specifies
  1638.        number of bits of this field. Field is tested, flags are set.
  1639.        Be careful, this instruction operates from MSB to LSB!!
  1640.  
  1641. FORMAT
  1642.                                                          <ea>
  1643.        +---------------------------------------========================+
  1644.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1645.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1646.        | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |    MODE   | REGISTER  |
  1647.        |---|---|---|---|---|-------------------|-----------------------|
  1648.        | 0 | 0 | 0 | 0 |Do |       OFFSET      |Dw |      WIDTH        |
  1649.        +---------------------------------------------------------------+
  1650.  
  1651.       If Do = 0->Field "OFFSET" contains an immediate value which represents
  1652.       effective offset, value from 0 to 31.
  1653.       If Do = 1->Field "OFFSET" indicates number of a data register (bits 9
  1654.       and 10 of field cleared) which contains effective offset. Signed value
  1655.       is represented on 32 bits., so it's extended from -2 EXP 31 to
  1656.       (+2 EXP 31) -1.
  1657.  
  1658.       If Dw = 0->field "WIDTH" contains an immediate value between 1 and 31
  1659.       which indicates a width from 1 to 31 bits. A value of 0 indicates a
  1660.       width of 32 bits.
  1661.       If Dw = 1->field "WIDTH" indicates number of a data register (bits 3
  1662.       and 4 of field cleared) which contains width of bit field. The value
  1663.       modulo 32 can go from 1 to 31, indicating a width from 1 to 31 bits.
  1664.       A value 0 indicates a width of 32 bits.
  1665.  
  1666. REGISTER
  1667.        <ea> is always destination, addressing modes are the following:
  1668.        +-------------------------------+ +-----------------------------+
  1669.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1670.        |-------------------------------| |-----------------------------|
  1671.        |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1672.        |-------------------------------| |-----------------------------|
  1673.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1674.        |-------------------------------| |-----------------------------|
  1675.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1676.        |-------------------------------| |-----------------------------|
  1677.        |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  1678.        |-------------------------------| |-----------------------------|
  1679.        |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  1680.        |-------------------------------| |-----------------------------|
  1681.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  1682.        |-------------------------------| |-----------------------------|
  1683.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1684.        |-------------------------------| |-----------------------------|
  1685.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1686.        |-------------------------------| +-----------------------------+
  1687.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1688.        |-------------------------------|
  1689.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1690.        +-------------------------------+
  1691.  
  1692. RESULT
  1693.        X - not affected
  1694.        N - Set if MSB of field is set. Cleared otherwise.
  1695.        Z - Set if all the bits of the field tested are zero.
  1696.            Cleared otherwise.
  1697.        V - Always cleared.
  1698.        C - Always cleared.
  1699.  
  1700. ***********************************************************
  1701.  
  1702. BreaK-Point
  1703. NAME   BKPT -- Break-point
  1704.  
  1705. SYNOPSIS
  1706.        BKPT    #<data>
  1707.  
  1708. FUNCTION
  1709.        This instruction is used to support the program breakpoint
  1710.        function for debug monitors and real-time hardware emulators, and
  1711.        the operation will be dependent on the implementation. Execution of
  1712.        this instruction will cause the MC68010 to run a breakpoint
  1713.        acknowledge bus cycle and zeros on all address lines, but an
  1714.        MC68020 will place the immediate data on lines A2, A3, and A4, and
  1715.        zeros on lines A0 and A1.
  1716.  
  1717.        Whether the breakpoint acknowledge cycle is terminaled with
  1718.         _____    ____       ___  
  1719.        (DTACK), (BERR), or (VPA) the processor always takes an illegal
  1720.        instruction exception. During exception processing, a debug monitor
  1721.        can distinguish eight different software breakpoints by decoding the
  1722.        field in the BKPT instruction.
  1723.  
  1724.        For the MC68000 and the MC68HC000, this instruction causes an illegal
  1725.        instruction exception, but does not run the breakpoint acknowledge
  1726.        bus cycle.
  1727.  
  1728.        There are two possible responses on an MC68020: normal and exception.
  1729.        The normal response is an operation word (typically the instruction
  1730.                                                                   ______
  1731.        the BKPT originally replaced) on the data lines with the (DSACKx)
  1732.        signal asserted. The operation word is the executed in place of the
  1733.        breakpoint instruction.
  1734.  
  1735.        For the exception response, a bus error signal will cause the MC68020
  1736.        to take an illegal instruction exception, just as an MC68010 or
  1737.        MC68000 would do.
  1738.  
  1739. FORMAT
  1740.        +---------------------------------------------------------------+
  1741.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1742.        |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  1743.        | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |Nã BREAKPT.|
  1744.        +---------------------------------------------------------------+
  1745.  
  1746.        Number of break-point: Value between 0 and 7.
  1747.  
  1748. RESULT None.
  1749.  
  1750. ***********************************************************
  1751.  
  1752. Unconditional Branch
  1753.  
  1754. NAME   BRA -- Unconditional branch
  1755.  
  1756. SYNOPSIS
  1757.        BRA    <label>
  1758.  
  1759.        Size = Byte, Word
  1760.        Size = Byte, Word, Long    (68020+)
  1761.  
  1762. FUNCTION
  1763.        Program execution continues at location (PC) + offset.
  1764.        Offset is the relative gap between PC value at BRA ((PC) + 2)
  1765.        instruction execution time and mentioned label. 
  1766.  
  1767. FORMAT
  1768.        +---------------------------------------------------------------+
  1769.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1770.        |---|---|---|---|---|---|---|---|-------------------------------|
  1771.        | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |         8 BITS OFFSET         |
  1772.        |---------------------------------------------------------------|
  1773.        |            16 BITS OFFSET, IF 8 BITS OFFSET = $00             |
  1774.        |---------------------------------------------------------------|
  1775.        |            32 BITS OFFSET, IF 8 BITS OFFSET = $FF             |
  1776.        +---------------------------------------------------------------+
  1777.  
  1778. RESULT   None.
  1779.  
  1780. ***********************************************************
  1781.  
  1782. Bit Set
  1783.  
  1784. NAME   BSET -- Bit set
  1785.  
  1786. SYNOPSIS
  1787.        BSET    Dn,<ea>
  1788.        BSET    #<data>,<ea>
  1789.  
  1790.        Size = Byte, Long
  1791.  
  1792. FUNCTION
  1793.        Tests a bit in the destination operand and sets the Z condition code
  1794.        appropriately, then sets the bit in the destination.
  1795.        If the destination is a data register, any of the 32 bits can be
  1796.        specifice by the modulo 32 number. When the distination is a memory
  1797.        location, the operation must be a byte operation, and therefore the
  1798.        bit number is modulo 8. In all cases, bit zero is the least
  1799.        significant bit. The bit number for this operation may be specified
  1800.        in either of two ways:
  1801.  
  1802.        1. Immediate -- The bit number is specified as immediate data.
  1803.        2. Register  -- The specified data register contains the bit number.
  1804.  
  1805. FORMAT
  1806.        In the case of BSET Dn,<ea>:
  1807.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1808.        +---------------------------------------------------------------+
  1809.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1810.        |---|---|---|---|-----------|---|---|---|-----------|-----------|
  1811.        | 0 | 0 | 0 | 0 |  REGISTER | 1 | 1 | 1 |    MODE   | REGISTER  |
  1812.        +---------------------------------------========================+
  1813.                                                          <ea>
  1814.  
  1815.        In the case of BSET #<data,<ea>:
  1816.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1817.                                                       <ea>
  1818.        +---------------------------------------========================+
  1819.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1820.        |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1821.        | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |    MODE   | REGISTER  |
  1822.        |---|---|---|---|---|---|---|---|-------------------------------|
  1823.        | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |       NUMBER OF THE BIT       |
  1824.        +---------------------------------------------------------------+
  1825.  
  1826. REGISTER
  1827.        <ea> is always destination, addressing modes are the following:
  1828.        +-------------------------------- -------------------------------
  1829.        |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1830.        |-------------------------------| |-----------------------------|
  1831.        |      Dn *     |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1832.        |-------------------------------| |-----------------------------|
  1833.        |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1834.        |-------------------------------| |-----------------------------|
  1835.        |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  1836.        |-------------------------------| |-----------------------------|
  1837.        |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  1838.        |-------------------------------| |-----------------------------|
  1839.        |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  1840.        |-------------------------------| |-----------------------------|
  1841.        |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    | 
  1842.        |-------------------------------| |-----------------------------|
  1843.        |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  1844.        |-------------------------------| |-----------------------------|
  1845.        |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1846.        |-------------------------------| -------------------------------
  1847.        |([bd,An,Xi]od) |110 |Nã reg. An|
  1848.        |-------------------------------|
  1849.        |([bd,An],Xi,od)|110 |Nã reg. An|
  1850.        ---------------------------------
  1851.         * Long only; for others modes: Byte only.
  1852.  
  1853. RESULT
  1854.        X - not affected
  1855.        N - not affected
  1856.        Z - Set if the bit tested is zero. Cleared otherwise.
  1857.        V - not affected
  1858.        C - not affected
  1859.  
  1860. ***********************************************************
  1861.  
  1862. Branch to Subroutine
  1863.  
  1864. NAME   BSR -- Branch to subroutine
  1865.  
  1866. SYNOPSIS
  1867.        BSR    <label>
  1868.  
  1869.        Size = (Byte, Word)
  1870.        Size = (Byte, Word, Long)    (68020+)
  1871.  
  1872. FUNCTION
  1873.        Pushes the long word address which follows the BSR instruction to
  1874.        stack.
  1875.        Program    execution continues at location (PC) + offset.
  1876.        Offset is the relative gap between PC value and label.
  1877.        This gap is calculated by complement to two and is coded on 8 bits
  1878.        or on 16 bits.
  1879.  
  1880. FORMAT
  1881.        -----------------------------------------------------------------
  1882.        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1883.        |---|---|---|---|---|---|---|---|-------------------------------|
  1884.        | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |         8 BITS OFFSET         |
  1885.        |---------------------------------------------------------------|
  1886.        |            16 BITS OFFSET, IF 8 BITS OFFSET = $00             |
  1887.        |---------------------------------------------------------------|
  1888.        |            32 BITS OFFSET, IF 8 BITS OFFSET = $FF             |
  1889.        -----------------------------------------------------------------
  1890.  
  1891. RESULT   None.
  1892.  
  1893. ***********************************************************
  1894.  
  1895. Bit Test
  1896.  
  1897. NAME   BTST -- Bit test
  1898.  
  1899. SYNOPSIS
  1900.        BTST    Dn,<ea>
  1901.        BTST    #<data>,<ea>
  1902.  
  1903.        Size = Byte, Long
  1904.  
  1905. FUNCTION
  1906.     Tests a bit in the destination operand and sets the Z
  1907.     condition code appropriately. If the destination is a data register,
  1908.     any of the 32 bits can be specified by the modulo 32 number. When
  1909.     the distination is a memory location, the operation must be a byte
  1910.     operation, and therefore the bit number is modulo 8. In all cases,
  1911.        bit zero is the least significant bit. The bit number for this
  1912.     operation may be specified in either of two ways:
  1913.  
  1914.     1. Immediate -- The bit number is specified as immediate data.
  1915.     2. Register  -- The specified data register contains the bit number.
  1916.  
  1917. FORMAT
  1918.     In the case of BTST Dn,<ea>:
  1919.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1920.     -----------------------------------------------------------------
  1921.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1922.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  1923.     | 0 | 0 | 0 | 0 |  REGISTER | 1 | 0 | 0 |    MODE   | REGISTER  |
  1924.     ----------------------------------------=========================
  1925.                                                       <ea>
  1926.  
  1927.     In the case of BTST #<data,<ea>:
  1928.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1929.                                                       <ea>
  1930.     ----------------------------------------=========================
  1931.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  1932.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  1933.     | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  1934.     |---|---|---|---|---|---|---|---|-------------------------------|
  1935.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |       NUMBER OF THE BIT       |
  1936.     -----------------------------------------------------------------
  1937.  
  1938. REGISTER
  1939.     In the case of BTST Dn,<ea>:
  1940.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1941.     <ea> is always destination, addressing modes are the following:
  1942.     --------------------------------- -------------------------------
  1943.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1944.     |-------------------------------| |-----------------------------|
  1945.     |      Dn *     |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1946.     |-------------------------------| |-----------------------------|
  1947.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1948.     |-------------------------------| |-----------------------------|
  1949.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1950.     |-------------------------------| |-----------------------------|
  1951.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  1952.     |-------------------------------| |-----------------------------|
  1953.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  1954.     |-------------------------------| |-----------------------------|
  1955.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  1956.     |-------------------------------| |-----------------------------|
  1957.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1958.     |-------------------------------| |-----------------------------|
  1959.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  1960.     |-------------------------------| -------------------------------
  1961.     |([bd,An,Xi]od) |110 |Nã reg. An|
  1962.     |-------------------------------|
  1963.     |([bd,An],Xi,od)|110 |Nã reg. An|
  1964.     ---------------------------------
  1965.      * Long only; for others modes: Byte only.
  1966.  
  1967.     In the case of BTST #<data,<ea>:
  1968.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1969.     --------------------------------- -------------------------------
  1970.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  1971.     |-------------------------------| |-----------------------------|
  1972.     |      Dn *     |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  1973.     |-------------------------------| |-----------------------------|
  1974.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  1975.     |-------------------------------| |-----------------------------|
  1976.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  1977.     |-------------------------------| |-----------------------------|
  1978.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  1979.     |-------------------------------| |-----------------------------|
  1980.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  1981.     |-------------------------------| |-----------------------------|
  1982.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   | 
  1983.     |-------------------------------| |-----------------------------|
  1984.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  1985.     |-------------------------------| |-----------------------------|
  1986.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  1987.     |-------------------------------| -------------------------------
  1988.     |([bd,An,Xi]od) |110 |Nã reg. An|
  1989.     |-------------------------------|
  1990.     |([bd,An],Xi,od)|110 |Nã reg. An|
  1991.     ---------------------------------
  1992.  
  1993. RESULT
  1994.     X - not affected
  1995.     N - not affected
  1996.     Z - Set if the bit tested is zero. Cleared otherwise.
  1997.     V - not affected
  1998.     C - not affected
  1999.  
  2000. ***********************************************************
  2001.  
  2002. Callm "CALL Module"
  2003. NAME
  2004.     CALLM -- Call module    (68020 ONLY)
  2005.  
  2006. SYNOPSIS
  2007.  
  2008. FUNCTION
  2009.     This instruction is 68020 ONLY and is used with, for cooperation
  2010.     with the PMMU MC68851. Be carreful, it's not available on 68030+.
  2011.  
  2012. RESULT
  2013.  
  2014. ***********************************************************
  2015.  
  2016. Cas "Compare And Swap"
  2017. NAME
  2018.     CAS -- Compare and swap    (68020+)
  2019.  
  2020. SYNOPSIS
  2021.     CAS    Dc,Du,<ea>
  2022.  
  2023.     Size = (Byte, Word, Long)
  2024.  
  2025. FUNCTION
  2026.     This instruction is a read-modify-write instruction and should
  2027.     NEVER be used on Amiga because of conflicts with customs chips.
  2028.     Destination operand, which is in memory at address specified
  2029.     by <ea>, is compared to  data register Dc (Data Compare). This
  2030.     register is used as reference in the principle of this instruction.
  2031.     If there's equality (Z=1), destination operand can be updated, i.e.
  2032.     the new operand Du (Data Update) is moved in destination.
  2033.     If there's no equality (Z=0), it's the reference register Dc which
  2034.     must be updated. So there's a move from destination operand to Dc.
  2035.  
  2036. FORMAT
  2037.                                                           <ea>
  2038.     ----------------------------------------=========================
  2039.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2040.     |---|---|---|---|---|-------|---|---|---|-----------|-----------|
  2041.     | 0 | 0 | 0 | 0 | 1 | SIZE  | 0 | 1 | 1 |   MODE    |  REGISTER |
  2042.     |---|---|---|---|---|-------|-----------|-----------|-----------|
  2043.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 |Du REGISTER| 0 | 0 | 0 |Dc REGISTER|
  2044.     -----------------------------------------------------------------
  2045.  
  2046. SIZE
  2047.     01->one Byte operation
  2048.     10->one Word operation
  2049.     11->one Long operation
  2050.  
  2051. REGISTER
  2052.     Du register: indicates number of data register, which contains the
  2053.     new value to update in destination operand.
  2054.  
  2055.     Dc register: indicates number of data register, which contains the
  2056.     reference value to compare to destination operand.
  2057.  
  2058.     <ea> is always destination, addressing modes are the following:
  2059.     --------------------------------- -------------------------------
  2060.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2061.     |-------------------------------| |-----------------------------|
  2062.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  2063.     |-------------------------------| |-----------------------------|
  2064.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  2065.     |-------------------------------| |-----------------------------|
  2066.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  2067.     |-------------------------------| |-----------------------------|
  2068.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  2069.     |-------------------------------| |-----------------------------|
  2070.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  2071.     |-------------------------------| |-----------------------------|
  2072.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  2073.     |-------------------------------| |-----------------------------|
  2074.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  2075.     |-------------------------------| |-----------------------------|
  2076.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2077.     |-------------------------------| -------------------------------
  2078.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2079.     |-------------------------------|
  2080.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2081.     ---------------------------------
  2082.  
  2083. RESULT
  2084.     X - not affected
  2085.     N - Set if the result of comparison is negative. Cleared otherwise.
  2086.     Z - Set if the result of comparison is zero. Cleared otherwise.
  2087.     V - Set if overflow. Cleared otherwise.
  2088.     C - Set if carry. Cleared otherwise.
  2089.  
  2090. ***********************************************************
  2091.  
  2092. Cas2 "Compare And Swap (two-operand)"
  2093. NAME
  2094.     CAS2 --Compare and swap (two-operand)    (68020+)
  2095.  
  2096. SYNOPSIS
  2097.     CAS2    Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
  2098.  
  2099.     Size = (Word, Long)
  2100.  
  2101. FUNCTION
  2102.     This instruction is a read-modify-write instruction and should
  2103.     NEVER be used on Amiga because of conflicts with customs chips
  2104.     Destination operand 1, which is in memory to specified address by
  2105.     (Rn1), is compared to data register Dc1. If there's equality (Z=1),
  2106.     destination operand 2, which is in memory to specified address by
  2107.     (Rn2), is compared to data register Dc2.
  2108.  
  2109.     If there's equality (Z=1), destination operand 1 can be updated, i.e.
  2110.     new operand Du1 (Data Update) is moved in destination (Rn1).
  2111.  
  2112.     And also, destination operand 2 can be updated, i.e. new operand Du2
  2113.     (Data Update) is moved in destination (Rn2).
  2114.  
  2115.     If there's no equality (Z=0), reference registers Dc1 and Dc2 have to
  2116.     be updated. So there's move from destination operand (Rn1) in Dc1, and
  2117.     from (Rn2) in Dc2.
  2118.  
  2119. FORMAT
  2120.     ------------------------------------------------------------------
  2121.     | 15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2122.     |----|---|---|---|---|-------|---|---|---|---|---|---|---|---|---|
  2123.     | 0  | 0 | 0 | 0 | 1 | SIZE  | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
  2124.     |----|-----------|---|-------|-----------|---|---|---|-----------|
  2125.     |D/A1|  Rn1 REG. | 0 | 0 | 0 |  Du1 REG. | 0 | 0 | 0 |  Dc1 REG. |
  2126.     |----|-----------|---|---|---|-----------|---|---|---|-----------|
  2127.     |D/A2|  Rn2 REG. | 0 | 0 | 0 |  Du2 REG. | 0 | 0 | 0 |  Dc2 REG. |
  2128.     ------------------------------------------------------------------
  2129.  
  2130. SIZE
  2131.     10->one Word operation
  2132.     11->one Long operation
  2133.  
  2134. REGISTER
  2135.     D/A1 = 0: Rn1=Dn
  2136.     D/A1 = 1: Rn1=An
  2137.     D/A2 = 0: Rn2=Dn
  2138.     D/A2 = 1: Rn2=An
  2139.  
  2140.     Du1, Du2 registers: indicates number of data register, which contains
  2141.     the new value to update in destination operand.
  2142.  
  2143.     Dc1, Dc2 registers: indicates number of data register, which contains
  2144.     the reference value to compare to destination operand.
  2145.  
  2146.     Rn1, Rn2 registers: indicates number of destination registers.
  2147.  
  2148. RESULT
  2149.     X - not affected
  2150.     N - Set following to comparisons results.
  2151.     Z - Set if the result of comparisons is zero. Cleared otherwise.
  2152.     V - Set if overflow. Cleared otherwise.
  2153.     C - Set if carry. Cleared otherwise.
  2154.  
  2155. ***********************************************************
  2156.  
  2157. Chk "CHecK bounds"
  2158. NAME
  2159.     CHK -- Check bounds
  2160.  
  2161. SYNOPSIS
  2162.     CHK    <ea>,Dn
  2163.  
  2164.     Size = (Word)
  2165.     Size = (Word, Long)    (68020+)
  2166.  
  2167. FUNCTION
  2168.     Compares the value in the data register specified to zero and to the
  2169.     upper bound. The upper bound is a twos complement integer. If the
  2170.     register value is less than zero or greater than the upper bound,
  2171.     a CHK instruction, vector number 6, occurs.
  2172.  
  2173. FORMAT
  2174.     -----------------------------------------------------------------
  2175.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2176.     |---|---|---|---|-----------|-------|---|-----------|-----------|
  2177.     | 0 | 1 | 0 | 0 |  REGISTER |  SIZE | 0 |    MODE   | REGISTER  |
  2178.     ----------------------------------------=========================
  2179.                                                       <ea>
  2180.  
  2181.  
  2182. REGISTER
  2183.     <ea> specifies upper bound, addressing modes allowed are:
  2184.     --------------------------------- -------------------------------
  2185.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2186.     |-------------------------------| |-----------------------------|
  2187.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2188.     |-------------------------------| |-----------------------------|
  2189.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  2190.     |-------------------------------| |-----------------------------|
  2191.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2192.     |-------------------------------| |-----------------------------|
  2193.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  2194.     |-------------------------------| |-----------------------------|
  2195.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  2196.     |-------------------------------| |-----------------------------|
  2197.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2198.     |-------------------------------| |-----------------------------|
  2199.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2200.     |-------------------------------| |-----------------------------|
  2201.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  2202.     |-------------------------------| -------------------------------
  2203.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2204.     |-------------------------------|
  2205.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2206.     ---------------------------------
  2207.  
  2208. SIZE
  2209.     11->one Word operation
  2210.     10->one Long operation
  2211.  
  2212. RESULT
  2213.     X - Not affected
  2214.     N - Set if Dn < 0; cleared if Dn > <ea>. Undefined otherwise.
  2215.     Z - Undefined.
  2216.     V - Undefined.
  2217.     C - Undefined.
  2218.  
  2219. ***********************************************************
  2220.  
  2221. Chk2 "CHecK register against upper and lower bounds"
  2222. NAME
  2223.     CHK2 -- Check register against upper and lower bounds    (68020+)
  2224.  
  2225. SYNOPSIS
  2226.     CHK2    <ea>,Rn
  2227.  
  2228.     Size = (Byte, Word, Long)
  2229.  
  2230. FUNCTION
  2231.     <ea> indicates memory area of two bounds: in 1st memory position,
  2232.     lower bound, in 2nd memory position, upper bound. Those two values
  2233.     are adjacent in memory.
  2234.     For signed comparisons, the lowest arithmetic value, expressed as a
  2235.     two complement integer, have to be the lower bound.
  2236.  
  2237.     If Rn is a data register Dn and if size of operation is 8 or 16 bits,
  2238.     only the 8 or 16 bits of low weight of Dn and bounds are taken in
  2239.     count.
  2240.     In opposite, if Rn is an address register An, it must be extension
  2241.     of bounds sign and 32 bits of An are taken care.
  2242.  
  2243.     If Rn is located out of 2 bounds, a CHK instruction, vector number 6,
  2244.     occurs. 
  2245.  
  2246. FORMAT
  2247.                                                       <ea>
  2248.     ----------------------------------------=========================
  2249.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2250.     |---|---|---|---|---|-------|---|---|---|-----------|-----------|
  2251.     | 0 | 0 | 0 | 0 | 0 | SIZE  | 0 | 1 | 1 |   MODE    | REGISTER  |
  2252.     |---|-----------|---|-------|---|---|---|-----------|-----------|
  2253.     |D/A| REGISTER  | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
  2254.     -----------------------------------------------------------------
  2255.  
  2256. REGISTER
  2257.     Register specifies the register Rn which contains the value to test.
  2258.     If D/A = 0: Rn = Dn
  2259.     If D/A = 1: Rn = An
  2260.     <ea> specifies bounds, addressing modes allowed are:
  2261.     --------------------------------- -------------------------------
  2262.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2263.     |-------------------------------| |-----------------------------|
  2264.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  2265.     |-------------------------------| |-----------------------------|
  2266.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  2267.     |-------------------------------| |-----------------------------|
  2268.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2269.     |-------------------------------| |-----------------------------|
  2270.     |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  2271.     |-------------------------------| |-----------------------------|
  2272.     |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  2273.     |-------------------------------| |-----------------------------|
  2274.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2275.     |-------------------------------| |-----------------------------|
  2276.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2277.     |-------------------------------| |-----------------------------|
  2278.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2279.     |-------------------------------| -------------------------------
  2280.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2281.     |-------------------------------|
  2282.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2283.     ---------------------------------
  2284.  
  2285. SIZE
  2286.     00->one Byte operation
  2287.     01->one Word operation
  2288.     10->one Long operation
  2289.  
  2290. RESULT
  2291.     X - Not affected
  2292.     N - Undefined.
  2293.     Z - Set if Rn is equal to one of the two bounds. Cleared otherwise.
  2294.     V - Undefined.
  2295.     C - Set if Rn is out of bounds. Cleared otherwise.
  2296.  
  2297.  
  2298. ***********************************************************
  2299.  
  2300. Clr "CLeaR"
  2301. NAME
  2302.     CLR -- Clear
  2303.  
  2304. SYNOPSIS
  2305.     CLR    <ea>
  2306.  
  2307.     Size = (Byte, Word, Long)
  2308.  
  2309. FUNCTION
  2310.     Clears the destination operand to zero.
  2311.  
  2312.     On an MC68000 and MC68HC000, a CLR instruction does both a
  2313.     read and a write to the destination. Because of this, this
  2314.     instruction should never be used on custom chip registers.
  2315.  
  2316. FORMAT
  2317.     -----------------------------------------------------------------
  2318.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2319.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  2320.     | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |  SIZE |    MODE   | REGISTER  |
  2321.     ----------------------------------------=========================
  2322.                                                       <ea>
  2323.  
  2324. REGISTER
  2325.     <ea> specifies destination operand, addressing modes allowed are:
  2326.     --------------------------------- -------------------------------
  2327.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2328.     |-------------------------------| |-----------------------------|
  2329.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2330.     |-------------------------------| |-----------------------------|
  2331.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  2332.     |-------------------------------| |-----------------------------|
  2333.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  2334.     |-------------------------------| |-----------------------------|
  2335.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  2336.     |-------------------------------| |-----------------------------|
  2337.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  2338.     |-------------------------------| |-----------------------------|
  2339.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  2340.     |-------------------------------| |-----------------------------|
  2341.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  2342.     |-------------------------------| |-----------------------------|
  2343.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2344.     |-------------------------------| -------------------------------
  2345.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2346.     |-------------------------------|
  2347.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2348.     ---------------------------------
  2349.  
  2350. SIZE
  2351.     00->one Byte operation
  2352.     01->one Word operation
  2353.     10->one Long operation
  2354.  
  2355. RESULT
  2356.     X - Not affected
  2357.     N - Always cleared
  2358.     Z - Always set
  2359.     V - Always cleared
  2360.     C - Always cleared
  2361.  
  2362.  
  2363. ***********************************************************
  2364.  
  2365. Cmp "CoMPare"
  2366. NAME
  2367.     CMP -- Compare
  2368.  
  2369. SYNOPSIS
  2370.     CMP    <ea>,Dn
  2371.  
  2372.     Size = (Byte, Word, Long)
  2373.  
  2374. FUNCTION
  2375.     Subtracts the source operand from the destination data register and
  2376.     sets the condition codes according to the result. The data register
  2377.     is NOT changed.
  2378.  
  2379. FORMAT
  2380.     -----------------------------------------------------------------
  2381.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2382.     |---|---|---|---|-----------|-----------|-----------|-----------|
  2383.     | 1 | 0 | 1 | 1 |  REGISTER |  OP-MODE  |    MODE   | REGISTER  |
  2384.     ----------------------------------------=========================
  2385.                                                       <ea>
  2386.  
  2387. OP-MODE
  2388.     000    8 bits operation.
  2389.     001    16 bits operation.
  2390.     010    32 bits operation.
  2391.  
  2392. REGISTER
  2393.     The data register specifies destination Dn.
  2394.     <ea> specifies source operand, addressing modes allowed are:
  2395.     --------------------------------- -------------------------------
  2396.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2397.     |-------------------------------| |-----------------------------|
  2398.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2399.     |-------------------------------| |-----------------------------|
  2400.     |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  2401.     |-------------------------------| |-----------------------------|
  2402.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2403.     |-------------------------------| |-----------------------------|
  2404.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  2405.     |-------------------------------| |-----------------------------|
  2406.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  2407.     |-------------------------------| |-----------------------------|
  2408.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2409.     |-------------------------------| |-----------------------------|
  2410.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2411.     |-------------------------------| |-----------------------------|
  2412.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  2413.     |-------------------------------| -------------------------------
  2414.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2415.     |-------------------------------|
  2416.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2417.     ---------------------------------
  2418.      * Word and Long only.
  2419.  
  2420. RESULT
  2421.     X - Not affected
  2422.     N - Set if the result is negative. Cleared otherwise.
  2423.     Z - Set if the result is zero. Cleared otherwise.
  2424.     V - Set if an overflow occours. Cleared otherwise.
  2425.     C - Set if a borrow occours. Cleared otherwise.
  2426.  
  2427.  
  2428. ***********************************************************
  2429.  
  2430. Cmp2 "CoMPare register against upper and lower bounds"
  2431. NAME
  2432.     Cmp2 -- Compare register against upper and lower bounds    (68020+)
  2433.  
  2434. SYNOPSIS
  2435.     CMP2    <ea>,Rn
  2436.  
  2437. FUNCTION
  2438.     Used to compare value of Rn (Dn or An) with two lower and upper
  2439.     bounds, which are stored in memory, at address given by <ea> (in
  2440.     two adjacent areas).
  2441.     Lower bound have to be stored before upper bound. Flags are set
  2442.     following to the result of comparison.
  2443.  
  2444.     If Rn is a data register Dn, and if operation is made on 8 or
  2445.     16 bits, only the 8 or 16 bits of Dn are taken in count.
  2446.     In opposite, in the case of Rn as an address register and if a 16
  2447.     bits operation is granted, the 32 bits of An are compared to bounds
  2448.     which are, them, extended on 32 bits by their signs.
  2449.  
  2450.  
  2451. FORMAT
  2452.                                                       <ea>
  2453.     ----------------------------------------=========================
  2454.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2455.     |---|---|---|---|---|-------|---|---|---|-----------|-----------|
  2456.     | 0 | 0 | 0 | 0 | 0 | SIZE  | 0 | 1 | 1 |   MODE    | REGISTER  |
  2457.     |---|-----------|---|-------|---|---|---|-----------|-----------|
  2458.     |D/A| REGISTER  | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
  2459.     -----------------------------------------------------------------
  2460.  
  2461. REGISTER
  2462.     Register specifies the register Rn which contains the value to test.
  2463.     If D/A = 0: Rn = Dn
  2464.     If D/A = 1: Rn = An
  2465.     <ea> specifies bounds, addressing modes allowed are:
  2466.     --------------------------------- -------------------------------
  2467.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2468.     |-------------------------------| |-----------------------------|
  2469.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  2470.     |-------------------------------| |-----------------------------|
  2471.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  2472.     |-------------------------------| |-----------------------------|
  2473.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2474.     |-------------------------------| |-----------------------------|
  2475.     |     (An)+     | -  |     -    | |   (d8,PC,Xi)  |111 |  011   |
  2476.     |-------------------------------| |-----------------------------|
  2477.     |    -(An)      | -  |     -    | |   (bd,PC,Xi)  |111 |  011   |
  2478.     |-------------------------------| |-----------------------------|
  2479.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2480.     |-------------------------------| |-----------------------------|
  2481.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2482.     |-------------------------------| |-----------------------------|
  2483.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2484.     |-------------------------------| -------------------------------
  2485.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2486.     |-------------------------------|
  2487.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2488.     ---------------------------------
  2489.  
  2490. SIZE
  2491.     00->one Byte operation
  2492.     01->one Word operation
  2493.     10->one Long operation
  2494.  
  2495. RESULT
  2496.     X - Not affected
  2497.     N - Undefined.
  2498.     Z - Set if Rn is equal to one of the two bounds. Cleared otherwise.
  2499.     V - Undefined.
  2500.     C - Set if Rn is out of bounds. Cleared otherwise.
  2501.  
  2502.  
  2503. ***********************************************************
  2504.  
  2505. Cmpa "CoMPare Address"
  2506. NAME
  2507.     CMPA -- Compare address
  2508.  
  2509. SYNOPSIS
  2510.     CMPA    <ea>,An
  2511.  
  2512.     Size = (Word, Long)
  2513.  
  2514. FUNCTION
  2515.     Subtracts the source operand from the destination address
  2516.     register and sets the condition codes according to the result. The
  2517.     address register is NOT changed. Word sized source operands are
  2518.     sign extended to long for comparison.
  2519.  
  2520. FORMAT
  2521.     -----------------------------------------------------------------
  2522.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2523.     |---|---|---|---|-----------|-----------|-----------|-----------|
  2524.     | 1 | 0 | 1 | 1 |  REGISTER |  OP-MODE  |    MODE   | REGISTER  |
  2525.     ----------------------------------------=========================
  2526.                                                       <ea>
  2527.  
  2528. OP-MODE
  2529.     011    16 bits operation.
  2530.     111    32 bits operation.
  2531.  
  2532. REGISTER
  2533.     The address register specifies destination An.
  2534.     <ea> specifies source operand, addressing modes allowed are:
  2535.     --------------------------------- -------------------------------
  2536.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2537.     |-------------------------------| |-----------------------------|
  2538.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2539.     |-------------------------------| |-----------------------------|
  2540.     |      An       |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  2541.     |-------------------------------| |-----------------------------|
  2542.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2543.     |-------------------------------| |-----------------------------|
  2544.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  2545.     |-------------------------------| |-----------------------------|
  2546.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  2547.     |-------------------------------| |-----------------------------|
  2548.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2549.     |-------------------------------| |-----------------------------|
  2550.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2551.     |-------------------------------| |-----------------------------|
  2552.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  2553.     |-------------------------------| -------------------------------
  2554.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2555.     |-------------------------------|
  2556.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2557.     ---------------------------------
  2558.  
  2559. RESULT
  2560.     X - Not affected
  2561.     N - Set if the result is negative. Cleared otherwise.
  2562.     Z - Set if the result is zero. Cleared otherwise.
  2563.     V - Set if an overflow occours. Cleared otherwise.
  2564.     C - Set if a borrow occours. Cleared otherwise.
  2565.  
  2566. ***********************************************************
  2567.  
  2568. Cmpi "CoMPare Immediate"
  2569. NAME
  2570.     CMPI -- Compare immediate
  2571.  
  2572. SYNOPSIS
  2573.     CMP    #<data>,<ea>
  2574.  
  2575.     Size = (Byte, Word, Long)
  2576.  
  2577. FUNCTION
  2578.     Subtracts the source operand from the destination operand and sets
  2579.     the condition codes according to the result. The destination is
  2580.     NOT changed. The size of the immediate data matches the operation
  2581.     size.
  2582.  
  2583. FORMAT
  2584.                                                       <ea>
  2585.     ----------------------------------------=========================
  2586.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2587.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  2588.     | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | SIZE  |    MODE   | REGISTER  |
  2589.     |-------------------------------|-------------------------------|
  2590.     |         16 BITS DATA          |         8 BITS DATA           |
  2591.     |---------------------------------------------------------------|
  2592.     |                          32 BITS DATA                         |
  2593.     -----------------------------------------------------------------
  2594.  
  2595. SIZE
  2596.     00->one Byte operation
  2597.     01->one Word operation
  2598.     10->one Long operation
  2599.  
  2600. REGISTER
  2601.     <ea> specifies destination operand, addressing modes allowed are:
  2602.     --------------------------------- -------------------------------
  2603.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2604.     |-------------------------------| |-----------------------------|
  2605.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2606.     |-------------------------------| |-----------------------------|
  2607.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  2608.     |-------------------------------| |-----------------------------|
  2609.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2610.     |-------------------------------| |-----------------------------|
  2611.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  2612.     |-------------------------------| |-----------------------------|
  2613.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  2614.     |-------------------------------| |-----------------------------|
  2615.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2616.     |-------------------------------| |-----------------------------|
  2617.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2618.     |-------------------------------| |-----------------------------|
  2619.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2620.     |-------------------------------| -------------------------------
  2621.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2622.     |-------------------------------|
  2623.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2624.     ---------------------------------
  2625.  
  2626. RESULT
  2627.     X - Not affected
  2628.     N - Set if the result is negative. Cleared otherwise.
  2629.     Z - Set if the result is zero. Cleared otherwise.
  2630.     V - Set if an overflow occours. Cleared otherwise.
  2631.     C - Set if a borrow occours. Cleared otherwise.
  2632.  
  2633.  
  2634. ***********************************************************
  2635.  
  2636. Cmpm "CoMPare Memory"
  2637. NAME
  2638.     CMPM -- Compare memory
  2639.  
  2640. SYNOPSIS
  2641.     CMPM    (Ay)+,(Ax)+
  2642.  
  2643.     Size = (Byte, Word, Long)
  2644.  
  2645. FUNCTION
  2646.     Subtracts the source operand from the destination operand
  2647.     and sets the condition codes according to the result. The destination
  2648.     operand is NOT changed. Operands are always addressed with the
  2649.     postincrement mode.
  2650.  
  2651. FORMAT
  2652.     -----------------------------------------------------------------
  2653.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2654.     |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  2655.     | 1 | 0 | 1 | 1 |Ax REGISTER| 1 | SIZE  | 0 | 0 | 1 |Ay REGISTER|
  2656.     ----------------------------------------=========================
  2657.                                                       <ea>
  2658.  
  2659. SIZE
  2660.     00->one Byte operation
  2661.     01->one Word operation
  2662.     10->one Long operation
  2663.  
  2664. REGISTER
  2665.     Ax register specifies destination operand (for post-incrementation).
  2666.     Ay register specifies source operand.
  2667.  
  2668. RESULT
  2669.     X - Not affected
  2670.     N - Set if the result is negative. Cleared otherwise.
  2671.     Z - Set if the result is zero. Cleared otherwise.
  2672.     V - Set if an overflow occours. Cleared otherwise.
  2673.     C - Set if a borrow occours. Cleared otherwise.
  2674.  
  2675.  
  2676. ***********************************************************
  2677.  
  2678. cpBcc "Branch on CoProcessor condition"
  2679. NAME
  2680.     cpBcc -- Branch on coprocessor condition
  2681.  
  2682. SYNOPSIS
  2683.     cpBcc    <label>
  2684.  
  2685.     Offset size = (Word, Long)
  2686.  
  2687. FUNCTION
  2688.     If specified coprocessor condition is true, program execution
  2689.     continues to address pointed by searching PC more offset.
  2690.     Searching PC contains address of first word of offset. Offset is
  2691.     a signed value of 16 or 32 bits, which represents the relative gap
  2692.     in bytes between the searching PC and destination address.
  2693.  
  2694. FORMAT
  2695.     ------------------------------------------------------------------
  2696.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6  | 5 | 4 | 3 | 2 | 1 | 0 |
  2697.     |---|---|---|---|-----------|---|---|----|-----------------------|
  2698.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 0 | 1 |SIZE|COPROSSESSOR CONDITION |
  2699.     |----------------------------------------------------------------|
  2700.     |              OPTIONAL COPROCESSOR EXTENSION WORD               |
  2701.     |----------------------------------------------------------------|
  2702.     |                            16 BITS OFFSET                      |
  2703.     |----------------------------------------------------------------|
  2704.     |            32 BITS OFFSET (LOW WEIGHT PART)                  |
  2705.     ------------------------------------------------------------------
  2706.  
  2707. SIZE
  2708.     0->one Word operation
  2709.     1->one Long operation
  2710.  
  2711.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2712.     "line emulation F" exception is generated.
  2713.  
  2714.     "COPROSSESSOR CONDITION" field, specifies condition to test.
  2715.     This condition is addressed to coprocessor which, after examining
  2716.     this one, address directives to processor in order to execute
  2717.     the instruction.
  2718.  
  2719. RESULT
  2720.     Not affected.
  2721.  
  2722. ***********************************************************
  2723.  
  2724. cpDBcc "Decrement and Branch on CoProcessor condition"
  2725. NAME
  2726.     cpDBcc -- Decrement and branch on coprocessor condition
  2727.  
  2728. SYNOPSIS
  2729.     cpDBcc    Dn,<label>
  2730.  
  2731.     Offset size = (Word)
  2732.  
  2733. FUNCTION
  2734.     If specified coprocessor condition is true, program execution
  2735.     continues with next instruction. Else 16 bits of data register which
  2736.     are used as a counter, are decremented of one.
  2737.     If Dn = -1, execution continues with next instruction.
  2738.     If Dn =! -1, execution continues to address pointed by searching PC
  2739.     more offset; searching PC containing address of first word of offset.
  2740.     Offset is a signed value of 16 bits, which represents the relative gap
  2741.     in bytes between the searching PC and destination address.
  2742.  
  2743. FORMAT
  2744.     -----------------------------------------------------------------
  2745.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2746.     |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  2747.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 0 | 0 | 1 | 0 | 0 | 1 | REGISTER  |
  2748.     |---|---|---|---|-----------|---|---|---|-----------------------|
  2749.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COPROCESSOR CONDITION |
  2750.     |---------------------------------------------------------------|
  2751.     |              OPTIONAL COPROCESSOR EXTENSION WORD              |
  2752.     |---------------------------------------------------------------|
  2753.     |                            16 BITS OFFSET                     |
  2754.     -----------------------------------------------------------------
  2755.  
  2756.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2757.     "line emulation F" exception is generated.
  2758.  
  2759.     "COPROSSESSOR CONDITION" field, specifies condition to test.
  2760.     This condition is addressed to coprocessor which, after examining
  2761.     this one, address directives to processor in order to execute
  2762.     the instruction.
  2763.  
  2764.     Register field indicates the number of data register used as counter.
  2765.  
  2766. RESULT
  2767.     Not affected.
  2768.  
  2769. ***********************************************************
  2770.  
  2771. cpGEN "GENeral CoProcessor intruction"
  2772. NAME
  2773.     cpGEN -- General coprocessor intruction
  2774.  
  2775. SYNOPSIS
  2776.     cpGEN    <coprocessor defined parameters>
  2777.  
  2778.     No size specs.
  2779.  
  2780. FUNCTION
  2781.     Command word specified is addressed to selected coprocessor.
  2782.     This one decode the command and address requests services to processor
  2783.     in order to execute services asked by the coprocessor.
  2784.  
  2785. FORMAT
  2786.                                                            <ea>
  2787.     ----------------------------------------=========================
  2788.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2789.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  2790.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 0 | 0 | 0 |    MODE   | REGISTER  |
  2791.     |---------------------------------------------------------------|
  2792.     |                  COPROCESSOR COMMAND WORD                     |
  2793.     |---------------------------------------------------------------|
  2794.     |     OPTIONAL COPROCESSOR EXTENSION WORD or OPTIONAL <ea>      |
  2795.     -----------------------------------------------------------------
  2796.  
  2797.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2798.     "line emulation F" exception is generated.
  2799.  
  2800.     <ea> field specifies place of operand not resident in the coprocessor.
  2801.     Allowed addressing modes are driven by the type of operation made.
  2802.  
  2803.     "COPROCESSOR COMMAND" field specifies operation to do.
  2804.     This word is transmit to coprocessor which, after analyse of this
  2805.     word, send directives to coprocessor in order to execute instruction.
  2806.     
  2807. RESULT
  2808.     Not affected or modified by the coprocessor.
  2809.  
  2810. ***********************************************************
  2811.  
  2812. cpRESTORE "RESTORE CoProcessor instruction (PRIVILEGED)"
  2813. NAME
  2814.     cpRESTORE -- Restore coprocessor instruction (PRIVILEGED)
  2815.  
  2816. SYNOPSIS
  2817.     cpRESTORE    <ea>
  2818.  
  2819.     No size specs.
  2820.  
  2821. FUNCTION
  2822.     Restore internal state of coprocessor after it has been generally
  2823.     saved by cpSAVE.
  2824.  
  2825. FORMAT
  2826.                                                            <ea>
  2827.     ----------------------------------------=========================
  2828.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2829.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  2830.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 1 | 0 | 1 |    MODE   | REGISTER  |
  2831.     -----------------------------------------------------------------
  2832.  
  2833.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2834.     "line emulation F" exception is generated.
  2835.  
  2836. REGISTER
  2837.     <ea> field specifies place where is stored coprocessor context in
  2838.     memory.
  2839.     Allowed addressing modes are:
  2840.     --------------------------------- -------------------------------
  2841.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2842.     |-------------------------------| |-----------------------------|
  2843.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  2844.     |-------------------------------| |-----------------------------|
  2845.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  2846.     |-------------------------------| |-----------------------------|
  2847.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  2848.     |-------------------------------| |-----------------------------|
  2849.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  2850.     |-------------------------------| |-----------------------------|
  2851.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  |111 |  011   |
  2852.     |-------------------------------| |-----------------------------|
  2853.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  2854.     |-------------------------------| |-----------------------------|
  2855.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  2856.     |-------------------------------| |-----------------------------|
  2857.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2858.     |-------------------------------| -------------------------------
  2859.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2860.     |-------------------------------|
  2861.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2862.     ---------------------------------
  2863.  
  2864. RESULT
  2865.     Not affected.
  2866.  
  2867. ***********************************************************
  2868.  
  2869. cpSAVE "SAVE CoProcessor instruction (PRIVILEGED)"
  2870. NAME
  2871.     cpSAVE -- Save coprocessor instruction    (PRIVILEGED)
  2872.  
  2873. SYNOPSIS
  2874.     cpSAVE    <ea>
  2875.  
  2876.     No size specs.
  2877.  
  2878. FUNCTION
  2879.     Save internal state of coprocessor.
  2880.  
  2881. FORMAT
  2882.                                                            <ea>
  2883.     ----------------------------------------=========================
  2884.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2885.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  2886.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 1 | 0 | 0 |    MODE   | REGISTER  |
  2887.     -----------------------------------------------------------------
  2888.  
  2889.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2890.     "line emulation F" exception is generated.
  2891.  
  2892. REGISTER
  2893.     <ea> field specifies place where is stored coprocessor context in
  2894.     memory.
  2895.     Allowed addressing modes are:
  2896.     --------------------------------- -------------------------------
  2897.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2898.     |-------------------------------| |-----------------------------|
  2899.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  2900.     |-------------------------------| |-----------------------------|
  2901.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  2902.     |-------------------------------| |-----------------------------|
  2903.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  2904.     |-------------------------------| |-----------------------------|
  2905.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  2906.     |-------------------------------| |-----------------------------|
  2907.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  | -  |   -    |
  2908.     |-------------------------------| |-----------------------------|
  2909.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  2910.     |-------------------------------| |-----------------------------|
  2911.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  2912.     |-------------------------------| |-----------------------------|
  2913.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2914.     |-------------------------------| -------------------------------
  2915.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2916.     |-------------------------------|
  2917.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2918.     ---------------------------------
  2919.  
  2920. RESULT
  2921.     Not affected.
  2922.  
  2923. ***********************************************************
  2924.  
  2925. cpScc "Set one byte on CoProcessor condition"
  2926. NAME
  2927.     cpScc -- Set one byte on coprocessor condition
  2928.  
  2929. SYNOPSIS
  2930.     cpScc    <ea>
  2931.  
  2932.     Size = (Byte)
  2933.  
  2934. FUNCTION
  2935.     If given condition is true, byte specified by <ea> is loaded with $FF.
  2936.     Else it is loaded with $00.
  2937.  
  2938. FORMAT
  2939.                                                            <ea>
  2940.     ----------------------------------------=========================
  2941.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  2942.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  2943.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 0 | 0 | 1 |    MODE   | REGISTER  |
  2944.     |---|---|---|---|-----------|---|---|---|-----------------------|
  2945.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | COPROCESSOR CONDITION |
  2946.     |---------------------------------------------------------------|
  2947.     |    OPTIONAL COPROCESSOR EXTENSION WORD or OPTIONAL <ea>       |
  2948.     -----------------------------------------------------------------
  2949.  
  2950.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  2951.     "line emulation F" exception is generated.
  2952.  
  2953.     "COPROSSESSOR CONDITION" field, specifies condition to test.
  2954.     This condition is addressed to coprocessor which, after examining
  2955.     this one, address directives to processor in order to execute
  2956.     the instruction.
  2957.  
  2958. REGISTER
  2959.     <ea> field specifies place of destination byte.
  2960.     Allowed addressing modes are:
  2961.     --------------------------------- -------------------------------
  2962.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  2963.     |-------------------------------| |-----------------------------|
  2964.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  2965.     |-------------------------------| |-----------------------------|
  2966.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  2967.     |-------------------------------| |-----------------------------|
  2968.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  2969.     |-------------------------------| |-----------------------------|
  2970.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  2971.     |-------------------------------| |-----------------------------|
  2972.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  2973.     |-------------------------------| |-----------------------------|
  2974.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  2975.     |-------------------------------| |-----------------------------|
  2976.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  2977.     |-------------------------------| |-----------------------------|
  2978.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  2979.     |-------------------------------| -------------------------------
  2980.     |([bd,An,Xi]od) |110 |Nã reg. An|
  2981.     |-------------------------------|
  2982.     |([bd,An],Xi,od)|110 |Nã reg. An|
  2983.     ---------------------------------
  2984.  
  2985. RESULT
  2986.     Not affected.
  2987.  
  2988. ***********************************************************
  2989.  
  2990. cpTRAPcc "Exception generation on CoProcessor condition"
  2991. NAME
  2992.     cpTRAPcc -- Exception generation on coprocessor condition
  2993.  
  2994. SYNOPSIS
  2995.     cpTRAPcc
  2996.     cpTRAPcc    #<data>
  2997.  
  2998.     No size specs, or size of data: (Word, Long).
  2999.  
  3000. FUNCTION
  3001.     If specified coprocessor condition is true, exception vector nã7
  3002.     is generated. Value of saved PC is next instruction one (return
  3003.     address).
  3004.     If given condition is false, PC takes the value of next instruction.
  3005.     Immediate data placed at instruction end is an information which can
  3006.     be used by the exception sub-routine.
  3007.  
  3008. FORMAT
  3009.     -----------------------------------------------------------------
  3010.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3011.     |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  3012.     | 1 | 1 | 1 | 1 | CP-ID =! 0| 0 | 0 | 1 | 1 | 1 | 1 |  OP-MODE  |
  3013.     |---|---|---|---|-----------|---|---|---|-----------------------|
  3014.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |COPROSSESSOR CONDITION |
  3015.     |---------------------------------------------------------------|
  3016.     |              OPTIONAL COPROCESSOR EXTENSION WORD              |
  3017.     |---------------------------------------------------------------|
  3018.     |                            16 BITS DATA or                    |
  3019.     |---------------------------------------------------------------|
  3020.     |              32 BITS DATA (LOW WEIGHT PART)                |
  3021.     -----------------------------------------------------------------
  3022.  
  3023. OP-MODE
  3024.     010->instruction contains a 16 bits operand.
  3025.     011->instruction contains a 32 bits operand.
  3026.     100->instruction has no operands.
  3027.  
  3028.     CP-ID field identify coprocessor (1 to 7). If CP-ID=0,
  3029.     "line emulation F" exception is generated.
  3030.  
  3031.     "COPROSSESSOR CONDITION" field, specifies condition to test.
  3032.     This condition is addressed to coprocessor which, after examining
  3033.     this one, address directives to processor in order to execute
  3034.     the instruction.
  3035.  
  3036. RESULT
  3037.     Not affected.
  3038.  
  3039. ***********************************************************
  3040.  
  3041. Dbcc "Decrement and Branch Conditionally"
  3042. NAME
  3043.     DBcc -- Decrement and branch conditionally
  3044.  
  3045. SYNOPSIS
  3046.     DBcc    Dn,<label>
  3047.  
  3048.     Size of offset = (Word)
  3049.  
  3050. FUNCTION
  3051.     Controls a loop of instructions. The parameters are: a
  3052.     condition code, a data register (counter), and an offset value.
  3053.     The instruction first tests the condition (for termination); if it
  3054.     is true, no operation is performed. If the termination condition is
  3055.     not true, the low-order 16 bits of the counter are decremented by
  3056.     one. If the result is -1, execution continues at the next
  3057.     instruction, otherwise, execution continues at the specified
  3058.     address.
  3059.  
  3060.     Condition code 'cc' specifies one of the following:
  3061. 0000 F  False            Z = 1      1000 VC oVerflow Clear   V = 0
  3062. 0001 T  True             Z = 0      1001 VS oVerflow Set     V = 1
  3063. 0010 HI HIgh             C + Z = 0  1010 PL PLus             N = 0
  3064. 0011 LS Low or Same      C + Z = 1  1011 MI MInus            N = 1
  3065. 0100 CC Carry Clear      C = 0      1100 GE Greater or Equal N (+) V = 0
  3066. 0101 CS Carry Set        C = 1      1101 LT Less Than        N (+) V = 1
  3067. 0110 NE Not Equal        Z = 0      1110 GT Greater Than     Z + (N (+) V) = 0
  3068. 0111 EQ EQual            Z = 1      1111 LE Less or Equal    Z + (N (+) V) = 1
  3069.  
  3070.  
  3071.     Keep the following in mind when using DBcc instructions:
  3072.     1. A DBcc acts as the UNTIL loop contruct in high level
  3073.        languages. E.g., DBMI would be "decrement and branch until
  3074.        minus".
  3075.     2. Most assemblers accept DBRA or DBF for use when no condition
  3076.        is required for termination of a loop.
  3077.  
  3078.  
  3079.         The DBcc will, unlike the Bcc instruction, take the branch only if
  3080.         the set of conditions are NOT satified. The loop will be terminated
  3081.         if the condition is true, or the counter is zero BEFORE a decrement,
  3082.         and wrap to -1. This mean that if you execute code like:
  3083.  
  3084.     move.w    #30,d0
  3085.  
  3086. .Loop
  3087.     move.l    (a0)+,(a1)+
  3088.     dbf    d0,.Loop
  3089.  
  3090.         then the copy will be executed *31* times, and 124 bytes of memory
  3091.         will be copied, not 120.
  3092.  
  3093.         A good practice is therefore to write:
  3094.  
  3095.     move.w    #31-1,d0
  3096.  
  3097. .Loop
  3098.     move.l    (a0)+,(a1)+
  3099.     dbf    d0,.Loop
  3100.  
  3101.         To compare two strings that may be in excess of 64k length for
  3102.         beeing equal, you could execute the following code:
  3103.     ...
  3104.  
  3105.     move.l    #$53452-1,d0
  3106.     beq.s    .NoLength    ; Zero length!
  3107.     bra.s    .StartOuterLoop    ; The upper word contain count of 65536's...
  3108.  
  3109. .OuterLoop
  3110.     swap    d0
  3111.  
  3112. .InnerLoop
  3113.     cmp.b    (a0)+,(a1)+
  3114.     dbne    d0,.InnerLoop    ; Remember, drop trough on condition TRUE.
  3115.  
  3116. .StartOuterLoop                ; d0 will be $FFFF on 2.+ run-through
  3117.     bne.s    .NotEqual    ; Dropped through due to Not Equal?
  3118.     swap    d0        ; Get upper part of word...    
  3119.     dbf    d0,.OuterLoop
  3120.     ...
  3121.  
  3122.         It would not be possible to use two sets of DBNEs, as SWAP
  3123.         changes the condition codes - and we don't want the drop-
  3124.         though to be on account of D0, instead of the compares...
  3125.  
  3126.         Another neat trick is to use instruction as a conditional
  3127.         decrementer; this code will decrement d0.w if the last
  3128.         instruction returned NOT EQUAL:
  3129.     ...
  3130.     dbeq    d0,.Next
  3131.  
  3132. .Next
  3133.     ...
  3134.  
  3135. FORMAT
  3136.     -----------------------------------------------------------------
  3137.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3138.     |---|---|---|---|---------------|---|---|---|---|---|-----------|
  3139.     | 0 | 1 | 0 | 1 |   CONDITION   | 1 | 1 | 0 | 0 | 1 | REGISTER  |
  3140.     |---------------------------------------------------------------|
  3141.     |                      16 BITS OFFSET (d16)                     |
  3142.     -----------------------------------------------------------------
  3143.  
  3144.     "CONDITION" is one of the condition code given some lines before.
  3145.     "REGISTER" is the number of data register.
  3146.     Offset is the relative gap in byte to do branching.
  3147.  
  3148. RESULT
  3149.     Not affected.
  3150.  
  3151. ***********************************************************
  3152.  
  3153. Divs "Signed DIVide"
  3154. NAME
  3155.     DIVS, DIVSL -- Signed divide
  3156.  
  3157. SYNOPSIS
  3158.     DIVS.W    <ea>,Dn     32/16 -> 16r:16q
  3159.     DIVS.L    <ea>,Dq     32/32 -> 32q      (68020+)
  3160.     DIVS.L    <ea>,Dr:Dq  64/32 -> 32r:32q  (68020+)
  3161.     DIVSL.L    <ea>,Dr:Dq  32/32 -> 32r:32q  (68020+)
  3162.  
  3163.     Size = (Word, Long)
  3164.  
  3165. FUNCTION
  3166.     Divides the signed destination operand by the signed source
  3167.     operand and stores the signed result in the destination.
  3168.  
  3169.     The instruction has a word form and three long forms. For the
  3170.     word form, the destination operand is a long word and the source
  3171.     operand is a word. The resultant quotient is placed in the lower
  3172.     word of the destination and the resultant remainder is placed in the
  3173.     upper word of the destination. The sign of the remainder is the
  3174.     same as the sign of the dividend.
  3175.  
  3176.     In the first long form, the destination and the source are both
  3177.     long words. The quotient is placed in the longword of the destination
  3178.     and the remainder is discarded.
  3179.  
  3180.     The second long form has the destination as a quadword (eight bytes),
  3181.     specified by any two data registers, and the source is a long word.
  3182.     The resultant remainder and quotient are both long words and are
  3183.     placed in the destination registers.
  3184.  
  3185.     The final long form has both the source and the destination as long
  3186.     words and the resultant quotient and remainder as long words.
  3187.  
  3188. FORMAT
  3189.     In the case of DIVS.W:
  3190.     ~~~~~~~~~~~~~~~~~~~~~                              <ea>
  3191.     ----------------------------------------=========================
  3192.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3193.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  3194.     | 1 | 0 | 0 | 0 | REGISTER  | 1 | 1 | 1 |    MODE   | REGISTER  |
  3195.     -----------------------------------------------------------------
  3196.  
  3197.     "REGISTER" indicates the number of data register.
  3198.  
  3199.     In the case of DIVS.L and of DIVL.L:
  3200.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                <ea>
  3201.     -----------------------------------------=========================
  3202.     |15 |14 |13 |12 |11 |10  | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3203.     |---|---|---|---|---|----|---|---|---|---|-----------|-----------|
  3204.     | 0 | 1 | 0 | 0 | 1 | 1  | 0 | 0 | 0 | 1 |    MODE   | REGISTER  |
  3205.     |---|-----------|---|----|---|---|---|---|-----------|-----------|
  3206.     | 0 |Dq REGISTER| 1 |SIZE| 0 | 0 | 0 | 0 | 0 | 0 | 0 |Dr REGISTER|
  3207.     ------------------------------------------------------------------
  3208.  
  3209.     "Dq REGISTER" indicates the number of data register for destination
  3210.     operand. This register first contains 32 bits of low weight of
  3211.     dividend, and after the value of quotient on 32 bits.
  3212.  
  3213.     "SIZE" specifies if dividend is on 32 or 64 bits:
  3214.     0-> 32 bits dividend placed in Dq.
  3215.     1-> 64 bits dividend placed in Dr:Dq.
  3216.  
  3217.     "Dr REGISTER" indicates the number of data register for destination
  3218.     operand. This register first contains 32 bits of upper weight of
  3219.     dividend if "SIZE" = 1, and after the value of rest on 32 bits.
  3220.  
  3221.     If Dr and Dq represents the same register, only quotient on 32 bits
  3222.     is put in Dq.
  3223.  
  3224.     <ea> field specifies source operand, allowed addressing modes are:
  3225.  
  3226.     --------------------------------- -------------------------------
  3227.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3228.     |-------------------------------| |-----------------------------|
  3229.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  3230.     |-------------------------------| |-----------------------------|
  3231.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3232.     |-------------------------------| |-----------------------------|
  3233.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  3234.     |-------------------------------| |-----------------------------|
  3235.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  3236.     |-------------------------------| |-----------------------------|
  3237.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  3238.     |-------------------------------| |-----------------------------|
  3239.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  3240.     |-------------------------------| |-----------------------------|
  3241.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  3242.     |-------------------------------| |-----------------------------|
  3243.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  3244.     |-------------------------------| -------------------------------
  3245.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3246.     |-------------------------------|
  3247.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3248.     ---------------------------------
  3249.  
  3250. RESULT
  3251.     X - Not affected
  3252.     N - Set if the quotient is negative, cleared otherwise. Undefined if
  3253.         overflow or divide by zero occurs.
  3254.     Z - Set if the quotient is zero, cleared otherwise. Undefined if
  3255.         overflow or divide by zero occurs.
  3256.     V - Set if overflow occurs, cleared otherwise. Undefined if divide by
  3257.         zero occurs.
  3258.     C - Always cleared.
  3259.  
  3260.     Notes:
  3261.     1. If divide by zero occurs, an exception occurs.
  3262.     2. If overflow occurs, neither operand is affected.
  3263.  
  3264. ***********************************************************
  3265.  
  3266. Divu "Unsigned DIVide"
  3267. NAME
  3268.     DIVU, DIVUL -- Unsigned divide
  3269.  
  3270. SYNOPSIS
  3271.     DIVU.W    <ea>,Dn     32/16 -> 16r:16q
  3272.     DIVU.L    <ea>,Dq     32/32 -> 32q      (68020+)
  3273.     DIVU.L    <ea>,Dr:Dq  64/32 -> 32r:32q  (68020+)
  3274.     DIVUL.L    <ea>,Dr:Dq  32/32 -> 32r:32q  (68020+)
  3275.  
  3276.     Size = (Word, Long)
  3277.  
  3278. FUNCTION
  3279.     Divides the unsigned destination operand by the unsigned
  3280.     source operand and stores the unsigned result in the destination.
  3281.  
  3282.     The instruction has a word form and three long forms. For the
  3283.     word form, the destination operand is a long word and the source
  3284.     operand is a word. The resultant quotient is placed in the lower
  3285.     word of the destination and the resultant remainder is placed in the
  3286.     upper word of the destination. The sign of the remainder is the
  3287.     same as the sign of the dividend.
  3288.  
  3289.     In the first long form, the destination and the source are both
  3290.     long words. The quotient is placed in the longword of the destination
  3291.     and the remainder is discarded.
  3292.  
  3293.     The second long form has the destination as a quadword (eight bytes),
  3294.     specified by any two data registers, and the source is a long word.
  3295.     The resultant remainder and quotient are both long words and are
  3296.     placed in the destination registers.
  3297.  
  3298.     The final long form has both the source and the destination as long
  3299.     words and the resultant quotient and remainder as long words.
  3300.  
  3301. FORMAT
  3302.     In the case of DIVU.W:
  3303.     ~~~~~~~~~~~~~~~~~~~~~                              <ea>
  3304.     ----------------------------------------=========================
  3305.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3306.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  3307.     | 1 | 0 | 0 | 0 | REGISTER  | 0 | 1 | 1 |    MODE   | REGISTER  |
  3308.     -----------------------------------------------------------------
  3309.  
  3310.     "REGISTER" indicates the number of data register.
  3311.  
  3312.     In the case of DIVU.L and of DIVUL.L:
  3313.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               <ea>
  3314.     -----------------------------------------=========================
  3315.     |15 |14 |13 |12 |11 |10  | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3316.     |---|---|---|---|---|----|---|---|---|---|-----------|-----------|
  3317.     | 0 | 1 | 0 | 0 | 1 | 1  | 0 | 0 | 0 | 1 |    MODE   | REGISTER  |
  3318.     |---|-----------|---|----|---|---|---|---|-----------|-----------|
  3319.     | 0 |Dq REGISTER| 0 |SIZE| 0 | 0 | 0 | 0 | 0 | 0 | 0 |Dr REGISTER|
  3320.     ------------------------------------------------------------------
  3321.  
  3322.     "Dq REGISTER" indicates the number of data register for destination
  3323.     operand. This register first contains 32 bits of low weight of
  3324.     dividend, and after the value of quotient on 32 bits.
  3325.  
  3326.     "SIZE" specifies if dividend is on 32 or 64 bits:
  3327.     0-> 32 bits dividend placed in Dq.
  3328.     1-> 64 bits dividend placed in Dr:Dq.
  3329.  
  3330.     "Dr REGISTER" indicates the number of data register for destination
  3331.     operand. This register first contains 32 bits of upper weight of
  3332.     dividend if "SIZE" = 1, and after the value of rest on 32 bits.
  3333.  
  3334.     If Dr and Dq represents the same register, only quotient on 32 bits
  3335.     is put in Dq.
  3336.  
  3337.     <ea> field specifies source operand, allowed addressing modes are:
  3338.  
  3339.     --------------------------------- -------------------------------
  3340.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3341.     |-------------------------------| |-----------------------------|
  3342.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  3343.     |-------------------------------| |-----------------------------|
  3344.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3345.     |-------------------------------| |-----------------------------|
  3346.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  3347.     |-------------------------------| |-----------------------------|
  3348.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  3349.     |-------------------------------| |-----------------------------|
  3350.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  3351.     |-------------------------------| |-----------------------------|
  3352.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  3353.     |-------------------------------| |-----------------------------|
  3354.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  3355.     |-------------------------------| |-----------------------------|
  3356.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  3357.     |-------------------------------| -------------------------------
  3358.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3359.     |-------------------------------|
  3360.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3361.     ---------------------------------
  3362.  
  3363. RESULT
  3364.  
  3365.     X - Not affected
  3366.     N - See below.
  3367.     Z - Set if the quotient is zero, cleared otherwise. Undefined if
  3368.         overflow or divide by zero occurs.
  3369.     V - Set if overflow occurs, cleared otherwise. Undefined if divide by
  3370.         zero occurs.
  3371.     C - Always cleared.
  3372.  
  3373.     Notes:
  3374.     1. If divide by zero occurs, an exception occurs.
  3375.     2. If overflow occurs, neither operand is affected.
  3376.  
  3377.     According to the Motorola data books, the N flag is set if the
  3378.     quotient is negative, but in an unsigned divide, this seems to
  3379.     be impossible.
  3380.  
  3381.  
  3382. ***********************************************************
  3383.  
  3384. Eor "Exclusive logical OR"
  3385. NAME
  3386.     EOR -- Exclusive logical OR
  3387.  
  3388. SYNOPSIS
  3389.     EOR    Dn,<ea>
  3390.  
  3391.     Size = (Byte, Word, Long)
  3392.  
  3393. FUNCTION
  3394.     Performs an exclusive OR operation on the destination operand
  3395.     with the source operand.
  3396.  
  3397. FORMAT
  3398.     -----------------------------------------------------------------
  3399.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3400.     |---|---|---|---|-----------|-----------|-----------|-----------|
  3401.     | 1 | 0 | 1 | 1 |  REGISTER |  OP-MODE  |    MODE   | REGISTER  |
  3402.     ----------------------------------------=========================
  3403.                                                       <ea>
  3404.  
  3405. OP-MODE
  3406.     100    8 bits operation.
  3407.     101    16 bits operation.
  3408.     110    32 bits operation.
  3409.  
  3410. REGISTER
  3411.     The data register specifies source Dn.
  3412.     <ea> specifies destination operand, addressing modes allowed are:
  3413.     --------------------------------- -------------------------------
  3414.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3415.     |-------------------------------| |-----------------------------|
  3416.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  3417.     |-------------------------------| |-----------------------------|
  3418.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3419.     |-------------------------------| |-----------------------------|
  3420.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  3421.     |-------------------------------| |-----------------------------|
  3422.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  3423.     |-------------------------------| |-----------------------------|
  3424.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  3425.     |-------------------------------| |-----------------------------|
  3426.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  3427.     |-------------------------------| |-----------------------------|
  3428.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  3429.     |-------------------------------| |-----------------------------|
  3430.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  3431.     |-------------------------------| -------------------------------
  3432.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3433.     |-------------------------------|
  3434.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3435.     ---------------------------------
  3436.  
  3437. RESULT
  3438.     X - Not Affected
  3439.     N - Set to the value of the most significant bit.
  3440.     Z - Set if the result is zero.
  3441.     V - Always cleared
  3442.     C - Always cleared
  3443.     
  3444.  
  3445. ***********************************************************
  3446.  
  3447. Eori "Exclusive OR Immediate"
  3448. NAME
  3449.     EORI -- Exclusive OR immediate
  3450.  
  3451. SYNOPSIS
  3452.     EORI    #<data>,<ea>
  3453.  
  3454.     Size = (Byte, Word, Long)
  3455.  
  3456. FUNCTION
  3457.     Performs an exclusive OR operation on the destination operand
  3458.     with the source operand.
  3459.  
  3460. FORMAT
  3461.                                                       <ea>
  3462.     ----------------------------------------=========================
  3463.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3464.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  3465.     | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | SIZE  |    MODE   | REGISTER  |
  3466.     |-------------------------------|-------------------------------|
  3467.     |   16 BITS IMMEDIATE DATA      |     8 BITS IMMEDIATE DATA     |
  3468.     |---------------------------------------------------------------|
  3469.     |                     32 BITS IMMEDIATE DATA                    |
  3470.     -----------------------------------------------------------------
  3471.  
  3472. SIZE
  3473.     00->8 bits operation.
  3474.     01->16 bits operation.
  3475.     10->32 bits operation.
  3476.  
  3477. REGISTER
  3478.     Immediate data is placed behind the word of operating code of
  3479.     the instruction on 8, 16 or 32 bits.
  3480.  
  3481.     <ea> specifies destination operand, addressing modes allowed are:
  3482.     --------------------------------- -------------------------------
  3483.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3484.     |-------------------------------| |-----------------------------|
  3485.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  3486.     |-------------------------------| |-----------------------------|
  3487.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3488.     |-------------------------------| |-----------------------------|
  3489.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  3490.     |-------------------------------| |-----------------------------|
  3491.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  3492.     |-------------------------------| |-----------------------------|
  3493.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  3494.     |-------------------------------| |-----------------------------|
  3495.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  3496.     |-------------------------------| |-----------------------------|
  3497.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  3498.     |-------------------------------| |-----------------------------|
  3499.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  3500.     |-------------------------------| -------------------------------
  3501.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3502.     |-------------------------------|
  3503.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3504.     ---------------------------------
  3505.  
  3506. RESULT
  3507.     X - Not Affected
  3508.     N - Set to the value of the most significant bit.
  3509.     Z - Set if the result is zero.
  3510.     V - Always cleared
  3511.     C - Always cleared
  3512.     
  3513.  
  3514.  
  3515. ***********************************************************
  3516.  
  3517. EoriCCR "Exclusive OR Immediate to CCR"
  3518. NAME
  3519.     EORI to CCR -- Exclusive OR immediate to the condition code register
  3520.  
  3521. SYNOPSIS
  3522.     EORI    #<data>,CCR
  3523.  
  3524.     Size = (Byte)
  3525.  
  3526. FUNCTION
  3527.     Performs an exclusive OR operation on the condition codes
  3528.     register with the source operand.
  3529.  
  3530. FORMAT
  3531.     -----------------------------------------------------------------
  3532.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3533.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  3534.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
  3535.     |---|---|---|---|---|---|---|---|-------------------------------|
  3536.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |     8 BITS IMMEDIATE DATA     |
  3537.     -----------------------------------------------------------------
  3538.  
  3539. RESULT
  3540.     X - Changed if bit 4 of the source is set, cleared otherwise.
  3541.     N - Changed if bit 3 of the source is set, cleared otherwise.
  3542.     Z - Changed if bit 2 of the source is set, cleared otherwise.
  3543.     V - Changed if bit 1 of the source is set, cleared otherwise.
  3544.     C - Changed if bit 0 of the source is set, cleared otherwise.
  3545.     
  3546.  
  3547. ***********************************************************
  3548.  
  3549. EoriSR "Exclusive OR immediated with SR (PRIVILEGED)"
  3550. NAME
  3551.     EORI to SR -- Exclusive OR immediated to the status register (PRIVILEGED)
  3552.  
  3553. SYNOPSIS
  3554.     EORI    #<data>,SR
  3555.  
  3556.     Size = (Word)
  3557.  
  3558. FUNCTION
  3559.     Performs an exclusive OR operation on the status register
  3560.     with the source operand.
  3561.  
  3562. FORMAT
  3563.     -----------------------------------------------------------------
  3564.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3565.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  3566.     | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
  3567.     |---------------------------------------------------------------|
  3568.     |                     16 BITS IMMEDIATE DATA                    |
  3569.     -----------------------------------------------------------------
  3570.  
  3571. RESULT
  3572.     X - Changed if bit 4 of the source is set, cleared otherwise.
  3573.     N - Changed if bit 3 of the source is set, cleared otherwise.
  3574.     Z - Changed if bit 2 of the source is set, cleared otherwise.
  3575.     V - Changed if bit 1 of the source is set, cleared otherwise.
  3576.     C - Changed if bit 0 of the source is set, cleared otherwise.
  3577.     
  3578.  
  3579. ***********************************************************
  3580.  
  3581. Exg "Register EXchanGe"
  3582. NAME
  3583.     EXG -- Register exchange
  3584.  
  3585. SYNOPSIS
  3586.     EXG    Rx,Ry
  3587.  
  3588.     Size = (Long)
  3589.  
  3590. FUNCTION
  3591.     Exchanges the contents of any two registers.
  3592.  
  3593. FORMAT
  3594.     -----------------------------------------------------------------
  3595.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3596.     |---|---|---|---|-----------|---|-------------------|-----------|
  3597.     | 1 | 1 | 0 | 0 |Rx REGISTER| 1 |       OP-MODE     |Ry REGISTER|
  3598.     -----------------------------------------------------------------
  3599.  
  3600.     "Rx REGISTER" specifies a data or address register. If it's an
  3601.     exchange between a data register and an address register, this field
  3602.     define the data register.
  3603.  
  3604.     "Ry REGISTER" specifies a data or address register. If it's an
  3605.     exchange between a data register and an address register, this field
  3606.     define the address register.
  3607.  
  3608. OP-MODE
  3609.     01000->Exchange between data registers.
  3610.     01001->Exchange between address registers.
  3611.     10001->Exchange between data and address registers.
  3612.  
  3613. RESULT
  3614.     None.
  3615.  
  3616.  
  3617. ***********************************************************
  3618.  
  3619. Ext "Sign EXTend"
  3620. NAME
  3621.     EXT, EXTB -- Sign extend
  3622.  
  3623. SYNOPSIS
  3624.     EXT.W    Dn    Extend byte to word
  3625.     EXT.L    Dn    Extend word to long word
  3626.     EXTB.L    Dn    Extend byte to long word    (68020+)
  3627.  
  3628.     Size = (Word, Long)
  3629.  
  3630. FUNCTION
  3631.     Extends a byte to a word, or a word to a long word in a data
  3632.     register by copying the sign bit through the upper bits. If the
  3633.     operation is from byte to word, bit 7 is copied to bits 8 through
  3634.     15. If the operation is from word to long word, bit 15 is copied
  3635.     to bits 16 through 31. The EXTB copies bit 7 to bits 8 through 31.
  3636.  
  3637. FORMAT
  3638.     -----------------------------------------------------------------
  3639.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3640.     |---|---|---|---|---|---|---|-----------|---|---|---|-----------|
  3641.     | 0 | 1 | 0 | 0 | 1 | 0 | 0 |  OP-MODE  | 0 | 0 | 0 | REGISTER  |
  3642.     -----------------------------------------------------------------
  3643.  
  3644.     "REGISTER" specifies a data register.
  3645.  
  3646. OP-MODE
  3647.     010->Extending from 8 bits to 16 bits.
  3648.     011->Extending from 16 bits to 32 bits.
  3649.     111->Extending from 8 bits to 32 bits.
  3650.  
  3651. RESULT
  3652.     X - Not affected
  3653.     N - Set if the result is negative. Cleared otherwise.
  3654.     Z - Set if the result is zero. Cleared otherwise.
  3655.     V - Always cleared
  3656.     C - Always cleared
  3657.  
  3658.  
  3659. ***********************************************************
  3660.  
  3661. Illegal "Illegal processor instruction"
  3662. NAME
  3663.     ILLEGAL -- Illegal processor instruction
  3664.  
  3665. SYNOPSIS
  3666.     ILLEGAL
  3667.  
  3668. FUNCTION
  3669.     This instruction forces an Illegal Instruction exception,
  3670.     vector number 4. All other illegal instruction bit patterns,
  3671.     including, but not limited to, $fxxx and $axxx, are reserved for
  3672.     future expansion.
  3673.         The Hexa-decimal code of this instruction is: $4AFC 
  3674.  
  3675. FORMAT
  3676.     -----------------------------------------------------------------
  3677.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3678.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  3679.     | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
  3680.     -----------------------------------------------------------------
  3681.  
  3682. RESULT
  3683.     None.
  3684.  
  3685.  
  3686. ***********************************************************
  3687.  
  3688. Jmp "Unconditional far JuMP"
  3689. NAME
  3690.     JMP -- Unconditional far jump
  3691.  
  3692. SYNOPSIS
  3693.     JMP    <ea>
  3694.  
  3695. FUNCTION
  3696.     Program execution continues at the address specified by
  3697.     the operand.
  3698.  
  3699. FORMAT
  3700.     -----------------------------------------------------------------
  3701.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3702.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  3703.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  3704.     ----------------------------------------=========================
  3705.                                                        <ea>
  3706. REGISTER
  3707.     <ea> specifies address of next instruction.
  3708.     Allowed addressing modes are:
  3709.  
  3710.     --------------------------------- -------------------------------
  3711.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3712.     |-------------------------------| |-----------------------------|
  3713.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  3714.     |-------------------------------| |-----------------------------|
  3715.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3716.     |-------------------------------| |-----------------------------|
  3717.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  3718.     |-------------------------------| |-----------------------------|
  3719.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  |111 |  011   |
  3720.     |-------------------------------| |-----------------------------|
  3721.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  |111 |  011   |
  3722.     |-------------------------------| |-----------------------------|
  3723.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  3724.     |-------------------------------| |-----------------------------|
  3725.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  3726.     |-------------------------------| |-----------------------------|
  3727.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  3728.     |-------------------------------| -------------------------------
  3729.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3730.     |-------------------------------|
  3731.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3732.     ---------------------------------
  3733.  
  3734. RESULT
  3735.     None.
  3736.  
  3737.  
  3738. ***********************************************************
  3739.  
  3740. Jsr "Jump to far SubRoutine"
  3741. NAME
  3742.     JSR -- Jump to far subroutine
  3743.  
  3744. SYNOPSIS
  3745.     JSR    <ea>
  3746.  
  3747. FUNCTION
  3748.     Pushes the long word address of the instruction immediately
  3749.     following the JSR instruction onto the stack. The PC contains
  3750.     the address of the instruction word plus two. Program execution
  3751.     continues at location specified by <ea>.
  3752.  
  3753. FORMAT
  3754.     -----------------------------------------------------------------
  3755.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3756.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  3757.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |    MODE   | REGISTER  |
  3758.     ----------------------------------------=========================
  3759.                                                        <ea>
  3760. REGISTER
  3761.     <ea> specifies address of next instruction.
  3762.     Allowed addressing modes are:
  3763.  
  3764.     --------------------------------- -------------------------------
  3765.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3766.     |-------------------------------| |-----------------------------|
  3767.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  3768.     |-------------------------------| |-----------------------------|
  3769.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3770.     |-------------------------------| |-----------------------------|
  3771.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  3772.     |-------------------------------| |-----------------------------|
  3773.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  |111 |  011   |
  3774.     |-------------------------------| |-----------------------------|
  3775.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  |111 |  011   |
  3776.     |-------------------------------| |-----------------------------|
  3777.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  3778.     |-------------------------------| |-----------------------------|
  3779.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  3780.     |-------------------------------| |-----------------------------|
  3781.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  3782.     |-------------------------------| -------------------------------
  3783.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3784.     |-------------------------------|
  3785.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3786.     ---------------------------------
  3787.  
  3788. RESULT
  3789.     None.
  3790.  
  3791.  
  3792.  
  3793. ***********************************************************
  3794.  
  3795. Lea "Load Effective Address"
  3796. NAME
  3797.     LEA -- Load effective address
  3798.  
  3799. SYNOPSIS
  3800.     LEA    <ea>,An
  3801.  
  3802.     Size = (Long)
  3803.  
  3804. FUNCTION
  3805.     Places the specified address into the destination address
  3806.     register. Note: All 32 bits of An are affected by this instruction.
  3807.  
  3808. FORMAT
  3809.     -----------------------------------------------------------------
  3810.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3811.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  3812.     | 0 | 1 | 0 | 0 | REGISTER  | 1 | 1 | 1 |    MODE   | REGISTER  |
  3813.     ----------------------------------------=========================
  3814.                                                        <ea>
  3815. REGISTER
  3816.     "REGISTER" indicates the number of address register
  3817.  
  3818.     <ea> specifies address which must be loaded in the address register.
  3819.     Allowed addressing modes are:
  3820.  
  3821.     --------------------------------- -------------------------------
  3822.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  3823.     |-------------------------------| |-----------------------------|
  3824.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  3825.     |-------------------------------| |-----------------------------|
  3826.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  3827.     |-------------------------------| |-----------------------------|
  3828.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  3829.     |-------------------------------| |-----------------------------|
  3830.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  |111 |  011   |
  3831.     |-------------------------------| |-----------------------------|
  3832.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  |111 |  011   |
  3833.     |-------------------------------| |-----------------------------|
  3834.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  3835.     |-------------------------------| |-----------------------------|
  3836.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  3837.     |-------------------------------| |-----------------------------|
  3838.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  3839.     |-------------------------------| -------------------------------
  3840.     |([bd,An,Xi]od) |110 |Nã reg. An|
  3841.     |-------------------------------|
  3842.     |([bd,An],Xi,od)|110 |Nã reg. An|
  3843.     ---------------------------------
  3844.  
  3845. RESULT
  3846.     None.
  3847.  
  3848.  
  3849. ***********************************************************
  3850.  
  3851. Link "Create local stack frame"
  3852. NAME
  3853.     LINK -- Create local stack frame
  3854.  
  3855. SYNOPSIS
  3856.     LINK    An,#<data>
  3857.  
  3858.     Size = (Word)
  3859.     Size = (Word, Long)        (68020+)
  3860.  
  3861. FUNCTION
  3862.     This instruction saves the specified address register onto
  3863.     the stack, then places the new stack pointer in that register. It
  3864.     then adds the specificed immediate data to the stack pointer. To
  3865.     allocate space on the stack for a local data area, a negative value
  3866.     should be used for the second operand.
  3867.  
  3868.     The use of a local stack frame is critically important to the
  3869.     programmer who wishes to write re-entrant or recursive functions.
  3870.     The creation of a local stack frame on the MC680x0 family is done
  3871.     through the use of the LINK and UNLK instructions. The LINK
  3872.     instruction saves the frame pointer onto the stack, and places a
  3873.     pointer to the new stack frame in it. The UNLK instruction
  3874.     restores the old stack frame. For example:
  3875.  
  3876.         link    a5,#-8        ; a5 is chosen to be the frame
  3877.                     ; pointer. 8 bytes of local stack
  3878.                     ; frame are allocated.
  3879.         ...
  3880.         unlk    a5        ; a5, the old frame pointer, and the
  3881.                     ; old SP are restored.
  3882.  
  3883.     Since the LINK and UNLK instructions maintain both the frame pointer
  3884.     and the stack pointer, the following code segment is perfectly
  3885.     legal:
  3886.  
  3887.         link    a5,#-4
  3888.  
  3889.         movem.l    d0-a4,-(sp)
  3890.         pea    (500).w
  3891.         move.l    d2,-(sp)
  3892.         bsr.b    Routine
  3893.  
  3894.         unlk    a5
  3895.         rts
  3896.  
  3897. FORMAT
  3898.     For Word size:
  3899.     ~~~~~~~~~~~~~
  3900.     -----------------------------------------------------------------
  3901.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3902.     |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  3903.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | REGISTER  |
  3904.     |---------------------------------------------------------------|
  3905.     |                        16 BITS OFFSET (d)                     |
  3906.     -----------------------------------------------------------------
  3907.  
  3908.     For Long size:
  3909.     ~~~~~~~~~~~~~
  3910.     -----------------------------------------------------------------
  3911.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3912.     |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  3913.     | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | REGISTER  |
  3914.     |---------------------------------------------------------------|
  3915.     |          32 BITS OFFSET (d) (16 bits of lower weight)         |
  3916.     |---------------------------------------------------------------|
  3917.     |          32 BITS OFFSET (d) (16 bits of upper weight)         |
  3918.     -----------------------------------------------------------------
  3919.  
  3920.     "REGISTER" indicates the number of address register.
  3921.     OFFSET is a signed value, generally negative, which enables to move
  3922.     the stack pointer.
  3923.  
  3924. RESULT
  3925.     None.
  3926.  
  3927.  
  3928. ***********************************************************
  3929.  
  3930. LSD "Logical Shift Left and Logical Shift Right"
  3931. NAME
  3932.     LSL, LSR -- Logical shift left and logical shift right
  3933.  
  3934. SYNOPSIS
  3935.     LSd    Dx,Dy
  3936.     LSd    #<data>,Dy
  3937.     LSd    <ea>
  3938.     where d is direction, L or R
  3939.  
  3940.     Size = (Byte, Word, Long)
  3941.  
  3942. FUNCTION
  3943.     Shift the bits of the operand in the specified direction.
  3944.     The carry bit set set to the last bit shifted out of the operand.
  3945.     The shift count for the shifting of a register may be specified in
  3946.     two different ways:
  3947.  
  3948.     1. Immediate - the shift count is specified in the instruction (shift
  3949.                    range 1-8).
  3950.     2. Register  - the shift count is contained in a data register
  3951.                    specified in the instruction (shift count mod 64)
  3952.  
  3953.     For a register, the size may be byte, word, or long, but for a memory
  3954.     location, the size must be a word. The shift count is also restricted
  3955.     to one for a memory location.
  3956.  
  3957.     LSL:              <--  
  3958.           C <------ OPERAND <--- 0
  3959.                 |
  3960.                 |    (V = 0)
  3961.           X <---'
  3962.            
  3963.  
  3964.     LSR:
  3965.                  -->
  3966.     0 ---> OPERAND -------> C
  3967.                           |
  3968.                       |
  3969.                       `---> X
  3970.  
  3971. FORMAT
  3972.     In the case of the shifting of a register:
  3973.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3974.     -----------------------------------------------------------------
  3975.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3976.     |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  3977.     | 1 | 1 | 1 | 0 |  NUMBER/  |dr |  SIZE |i/r| 0 | 1 | REGISTER  |
  3978.     |   |   |   |   |  REGISTER |   |       |   |   |   |           |
  3979.     -----------------------------------------------------------------
  3980.  
  3981.     In the case of the shifting of a memory area:
  3982.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3983.     -----------------------------------------------------------------
  3984.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3985.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  3986.     | 1 | 1 | 1 | 0 | 0 | 0 | 1 |dr | 1 | 1 |    MODE   | REGISTER  |
  3987.     ----------------------------------------=========================
  3988.                                                       <ea>
  3989.  
  3990. NUMBER/REGISTER
  3991.     Specifies number of shifting or number of register which contents
  3992.     the number of shifting.
  3993.     If i/r = 0, number of shifting is specified in the instruction as
  3994.     immediate data
  3995.     If i/r = 1, it's specified in the data register.
  3996.     If dr = 0, right shifting
  3997.     If dr = 1, left shifting
  3998.  
  3999. SIZE
  4000.     00->one Byte operation
  4001.     01->one Word operation
  4002.     10->one Long operation
  4003.  
  4004. REGISTER
  4005.     For a register shifting:
  4006.     Indicates the number of data register on which shifting is applied.
  4007.  
  4008.     For a memory shifting:
  4009.     <ea> indicates operand which should be shifted.
  4010.     Only addressing modes relatives to memory are allowed:
  4011.  
  4012.     --------------------------------- -------------------------------
  4013.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4014.     |-------------------------------| |-----------------------------|
  4015.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  4016.     |-------------------------------| |-----------------------------|
  4017.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  4018.     |-------------------------------| |-----------------------------|
  4019.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4020.     |-------------------------------| |-----------------------------|
  4021.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  4022.     |-------------------------------| |-----------------------------|
  4023.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4024.     |-------------------------------| |-----------------------------|
  4025.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4026.     |-------------------------------| |-----------------------------|
  4027.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4028.     |-------------------------------| |-----------------------------|
  4029.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4030.     |-------------------------------| -------------------------------
  4031.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4032.     |-------------------------------|
  4033.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4034.     ---------------------------------
  4035.  
  4036. RESULT
  4037.     X - Set according to the last bit shifted out of the operand.
  4038.     N - Set if the result is negative. Cleared otherwise.
  4039.     Z - Set if the result is zero. Cleared otherwise.
  4040.     V - Always cleared
  4041.     C - Set according to the last bit shifted out of the operand.
  4042.  
  4043.  
  4044. ***********************************************************
  4045.  
  4046. MOVE "Move Source -> Destination"
  4047. NAME
  4048.     MOVE -- Source -> Destination
  4049.  
  4050. SYNOPSIS
  4051.     MOVE    <ea>,<ea>
  4052.  
  4053.     Size = (Byte, Word, Long)
  4054.  
  4055. FUNCTION
  4056.     Move the content of the source to the destination location.
  4057.     The data is examined as it is moved, and the condition codes
  4058.     set accordingly.
  4059.  
  4060. FORMAT
  4061.     -----------------------------------------------------------------
  4062.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4063.     |---|---|-------|-----------|-----------|-----------|-----------|
  4064.     | 0 | 0 |  SIZE |  REGISTER |    MODE   |    MODE   | REGISTER  |
  4065.     ----------------************************=========================
  4066.                         destination <ea>           source <ea>
  4067.  
  4068. REGISTER
  4069.     Destination <ea> specifies destination operand, addressing modes
  4070.     allowed are:
  4071.     --------------------------------- -------------------------------
  4072.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4073.     |-------------------------------| |-----------------------------|
  4074.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4075.     |-------------------------------| |-----------------------------|
  4076.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  4077.     |-------------------------------| |-----------------------------|
  4078.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4079.     |-------------------------------| |-----------------------------|
  4080.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  4081.     |-------------------------------| |-----------------------------|
  4082.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4083.     |-------------------------------| |-----------------------------|
  4084.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4085.     |-------------------------------| |-----------------------------|
  4086.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4087.     |-------------------------------| |-----------------------------|
  4088.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4089.     |-------------------------------| -------------------------------
  4090.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4091.     |-------------------------------|
  4092.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4093.     ---------------------------------
  4094.  
  4095.     Source <ea> specifies source operand, addressing modes allowed are:
  4096.     --------------------------------- -------------------------------
  4097.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4098.     |-------------------------------| |-----------------------------|
  4099.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4100.     |-------------------------------| |-----------------------------|
  4101.     |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  4102.     |-------------------------------| |-----------------------------|
  4103.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4104.     |-------------------------------| |-----------------------------|
  4105.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  4106.     |-------------------------------| |-----------------------------|
  4107.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4108.     |-------------------------------| |-----------------------------|
  4109.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4110.     |-------------------------------| |-----------------------------|
  4111.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4112.     |-------------------------------| |-----------------------------|
  4113.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  4114.     |-------------------------------| -------------------------------
  4115.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4116.     |-------------------------------|
  4117.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4118.     ---------------------------------
  4119.      * Word or Long only.
  4120.  
  4121. SIZE
  4122.     01->Byte
  4123.     11->Word
  4124.     10->Long
  4125.  
  4126. RESULT
  4127.     X - Not affected.
  4128.     N - Set if the result is negative. Cleared otherwise.
  4129.     Z - Set if the result is zero. Cleared otherwise.
  4130.     V - Always cleared.
  4131.     C - Always cleared.
  4132.  
  4133.  
  4134. ***********************************************************
  4135.  
  4136. Movea "Move Address Source -> Destination"
  4137. NAME
  4138.     MOVEA -- Source -> Destination
  4139.  
  4140. SYNOPSIS
  4141.     MOVEA    <ea>,An
  4142.  
  4143.     Size = (Word, Long)
  4144.  
  4145. FUNCTION
  4146.     Move the contents of the source to the destination address
  4147.     register. Word sized operands are sign extended to 32 bits
  4148.     before the operation is done.
  4149.  
  4150. FORMAT
  4151.     -----------------------------------------------------------------
  4152.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4153.     |---|---|-------|-----------|---|---|---|-----------|-----------|
  4154.     | 0 | 0 |  SIZE |  ADDRESS  | 0 | 0 | 1 |    MODE   | REGISTER  |
  4155.     |   |   |       |  REGISTER |   |   |   |           |           |
  4156.     ----------------------------------------=========================
  4157.                                                   source <ea>
  4158.  
  4159. REGISTER
  4160.     "ADDRESS REGISTER" specifies the number of destination address
  4161.     register.
  4162.  
  4163.     Source <ea> specifies source operand, addressing modes allowed are:
  4164.     --------------------------------- -------------------------------
  4165.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4166.     |-------------------------------| |-----------------------------|
  4167.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4168.     |-------------------------------| |-----------------------------|
  4169.     |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  4170.     |-------------------------------| |-----------------------------|
  4171.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4172.     |-------------------------------| |-----------------------------|
  4173.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  4174.     |-------------------------------| |-----------------------------|
  4175.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4176.     |-------------------------------| |-----------------------------|
  4177.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4178.     |-------------------------------| |-----------------------------|
  4179.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4180.     |-------------------------------| |-----------------------------|
  4181.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  4182.     |-------------------------------| -------------------------------
  4183.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4184.     |-------------------------------|
  4185.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4186.     ---------------------------------
  4187.      * Word or Long only.
  4188.  
  4189. SIZE
  4190.     11->Word, 32 bits of address register are altered by sign extension.
  4191.     10->Long
  4192.  
  4193. RESULT
  4194.     None.
  4195.  
  4196.  
  4197. ***********************************************************
  4198.  
  4199. MoveFromCCR "CCR -> Destination"
  4200. NAME
  4201.     MOVE from CCR -- CCR -> Destination
  4202.  
  4203. SYNOPSIS
  4204.     MOVE    CCR,<ea>
  4205.  
  4206.     Size = (Word)
  4207.  
  4208. FUNCTION
  4209.     The content of the status register is moved to the destination
  4210.     location. The source operand is a word,    but only the low order
  4211.     byte contains the condition codes. The high order byte is set
  4212.     to all zeros.
  4213.  
  4214. FORMAT
  4215.     -----------------------------------------------------------------
  4216.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4217.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  4218.     | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  4219.     ----------------------------------------=========================
  4220.                                                       <ea>
  4221.  
  4222. REGISTER
  4223.     <ea> specifies destination operand, addressing modes allowed are:
  4224.     --------------------------------- -------------------------------
  4225.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4226.     |-------------------------------| |-----------------------------|
  4227.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4228.     |-------------------------------| |-----------------------------|
  4229.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4230.     |-------------------------------| |-----------------------------|
  4231.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4232.     |-------------------------------| |-----------------------------|
  4233.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  4234.     |-------------------------------| |-----------------------------|
  4235.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4236.     |-------------------------------| |-----------------------------|
  4237.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4238.     |-------------------------------| |-----------------------------|
  4239.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4240.     |-------------------------------| |-----------------------------|
  4241.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4242.     |-------------------------------| -------------------------------
  4243.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4244.     |-------------------------------|
  4245.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4246.     ---------------------------------
  4247.  
  4248. RESULT
  4249.     None.
  4250.  
  4251.  
  4252. ***********************************************************
  4253.  
  4254. MoveToCCR "Source -> CCR"
  4255. NAME
  4256.     MOVE to CCR -- Source -> CCR
  4257.  
  4258. SYNOPSIS
  4259.     MOVE    <ea>,CCR
  4260.  
  4261.     Size = (Word)
  4262.  
  4263. FUNCTION
  4264.     The content of the source operand is moved to the condition codes.
  4265.     The source operand is a word, but only the low order byte is used
  4266.     to update the condition    codes. The high order byte is ignored.
  4267.  
  4268. FORMAT
  4269.     -----------------------------------------------------------------
  4270.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4271.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  4272.     | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |    MODE   | REGISTER  |
  4273.     ----------------------------------------=========================
  4274.                                                       <ea>
  4275.  
  4276. REGISTER
  4277.     <ea> specifies source operand, addressing modes allowed are:
  4278.     --------------------------------- -------------------------------
  4279.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4280.     |-------------------------------| |-----------------------------|
  4281.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4282.     |-------------------------------| |-----------------------------|
  4283.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4284.     |-------------------------------| |-----------------------------|
  4285.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4286.     |-------------------------------| |-----------------------------|
  4287.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  4288.     |-------------------------------| |-----------------------------|
  4289.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4290.     |-------------------------------| |-----------------------------|
  4291.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4292.     |-------------------------------| |-----------------------------|
  4293.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4294.     |-------------------------------| |-----------------------------|
  4295.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  4296.     |-------------------------------| -------------------------------
  4297.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4298.     |-------------------------------|
  4299.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4300.     ---------------------------------
  4301.  
  4302. RESULT
  4303.     X - Set the same as bit 4 of the source operand.
  4304.     N - Set the same as bit 3 of the source operand.
  4305.     Z - Set the same as bit 2 of the source operand.
  4306.     V - Set the same as bit 1 of the source operand.
  4307.     C - Set the same as bit 0 of the source operand.
  4308.  
  4309.  
  4310. ***********************************************************
  4311.  
  4312. MoveFromSR "Move from SR (privileged)"
  4313. NAME
  4314.     MOVE from SR -- Move from status register (privileged)
  4315.  
  4316. SYNOPSIS
  4317.     MOVE    SR,<ea>
  4318.  
  4319.     Size = (Word)
  4320.  
  4321. FUNCTION
  4322.     The content of the status register is moved to the destination
  4323.     location. The operand size is a word.
  4324.  
  4325. FORMAT
  4326.     -----------------------------------------------------------------
  4327.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4328.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  4329.     | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |    MODE   | REGISTER  |
  4330.     ----------------------------------------=========================
  4331.                                                       <ea>
  4332.  
  4333. REGISTER
  4334.     <ea> specifies destination operand, addressing modes allowed are:
  4335.     --------------------------------- -------------------------------
  4336.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4337.     |-------------------------------| |-----------------------------|
  4338.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4339.     |-------------------------------| |-----------------------------|
  4340.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4341.     |-------------------------------| |-----------------------------|
  4342.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4343.     |-------------------------------| |-----------------------------|
  4344.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  4345.     |-------------------------------| |-----------------------------|
  4346.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4347.     |-------------------------------| |-----------------------------|
  4348.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4349.     |-------------------------------| |-----------------------------|
  4350.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4351.     |-------------------------------| |-----------------------------|
  4352.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4353.     |-------------------------------| -------------------------------
  4354.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4355.     |-------------------------------|
  4356.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4357.     ---------------------------------
  4358.  
  4359. RESULT
  4360.     None.
  4361.  
  4362.  
  4363. ***********************************************************
  4364.  
  4365. MoveToSR "Move to SR (PRIVILEGED)"
  4366. NAME
  4367.     MOVE to SR -- Move to status register (PRIVILEGED)
  4368.  
  4369. SYNOPSIS
  4370.     MOVE    <ea>,SR
  4371.  
  4372.     Size = (Word)
  4373.  
  4374. FUNCTION
  4375.     The content of the source operand is moved to the
  4376.     status register. The source operand size is a word
  4377.     and all bits of the status register are affected.
  4378.  
  4379. FORMAT
  4380.     -----------------------------------------------------------------
  4381.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4382.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  4383.     | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  4384.     ----------------------------------------=========================
  4385.                                                       <ea>
  4386.  
  4387. REGISTER
  4388.     <ea> specifies source operand, addressing modes allowed are:
  4389.     --------------------------------- -------------------------------
  4390.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4391.     |-------------------------------| |-----------------------------|
  4392.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4393.     |-------------------------------| |-----------------------------|
  4394.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4395.     |-------------------------------| |-----------------------------|
  4396.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4397.     |-------------------------------| |-----------------------------|
  4398.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  4399.     |-------------------------------| |-----------------------------|
  4400.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4401.     |-------------------------------| |-----------------------------|
  4402.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4403.     |-------------------------------| |-----------------------------|
  4404.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4405.     |-------------------------------| |-----------------------------|
  4406.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  4407.     |-------------------------------| -------------------------------
  4408.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4409.     |-------------------------------|
  4410.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4411.     ---------------------------------
  4412.  
  4413. RESULT
  4414.  
  4415.     X - Set the same as bit 4 of the source operand.
  4416.     N - Set the same as bit 3 of the source operand.
  4417.     Z - Set the same as bit 2 of the source operand.
  4418.     V - Set the same as bit 1 of the source operand.
  4419.     C - Set the same as bit 0 of the source operand.
  4420.  
  4421.  
  4422. ***********************************************************
  4423.  
  4424. MoveUSP "Move to/from USP (privileged)"
  4425. NAME
  4426.     MOVE USP -- Move to/from user stack pointer (privileged)
  4427.  
  4428. SYNOPSIS
  4429.     MOVE    USP,An
  4430.     MOVE    An,USP
  4431.  
  4432.     Size = (Long)
  4433.  
  4434. FUNCTION
  4435.     The contents of the user stack pointer are transfered either to
  4436.     or from the specified address register.
  4437.  
  4438. FORMAT
  4439.     -----------------------------------------------------------------
  4440.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4441.     |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  4442.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |dr | REGISTER  |
  4443.     -----------------------------------------------------------------
  4444.  
  4445.     "REGISTER" indicates the number of address register.
  4446.  
  4447.     dr specifies move direction:
  4448.     0->An to USP
  4449.     1->USP to An
  4450.  
  4451. RESULT
  4452.     None.
  4453.  
  4454.  
  4455.  
  4456. ***********************************************************
  4457.  
  4458. Movec "Move to/from control register"
  4459. NAME
  4460.     MOVEC -- Move to/from control register
  4461.  
  4462. SYNOPSIS
  4463.     MOVEC    Rc,Rn
  4464.     MOVEC    Rn,Rc
  4465.  
  4466.     Size = (Long)
  4467.  
  4468. FUNCTION
  4469.     Copy the contents of the specified control register to the specified
  4470.     general register or copy from the general register to the control
  4471.     register. This is always a 32-bit transfer even though the control
  4472.     register may be implemented with fewer bits.
  4473.  
  4474. FORMAT
  4475.     -----------------------------------------------------------------
  4476.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4477.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  4478.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |dr |
  4479.     |---|-----------|-----------------------------------------------|
  4480.     |A/D| REGISTER  |                CONTROL REGISTER               |
  4481.     -----------------------------------------------------------------
  4482.  
  4483.     A/D indicates type of Rn register:
  4484.     0->Rn=Dn
  4485.     1->Rn=An
  4486.  
  4487.     "REGISTER" indicates the number of Rn register.
  4488.  
  4489.     dr specifies direction of move:
  4490.     0->Rc to Rn.
  4491.     1->Rn to Rc.
  4492.  
  4493.     "CONTROL REGISTER" specifies one of the control registers:
  4494.  
  4495.     Hexa value    Control Register
  4496.     ~~~~~~~~~~    ~~~~~~~~~~~~~~~~
  4497.     000           SFC
  4498.     001           DFC
  4499.     002           CACR
  4500.     800           USP
  4501.     801           VBR
  4502.     802           CAAR
  4503.     803           MSP
  4504.     804           ISP
  4505.  
  4506.     All others hexa codes generates an exception: illegal instruction.
  4507.  
  4508. RESULT
  4509.     None.
  4510.  
  4511.  
  4512. ***********************************************************
  4513.  
  4514. Movem "MOVE Multiple registers"
  4515. NAME
  4516.     MOVEM -- Move multiple registers
  4517.  
  4518. SYNOPSIS
  4519.     MOVEM    <register list>,<ea>
  4520.     MOVEM    <ea>,<register list>
  4521.  
  4522.     Size = (Word, Long)
  4523.  
  4524. FUNCTION
  4525.     Registers in the register list are either moved to or
  4526.     fetched from consecutive memory locations at the specified
  4527.     address. Data can be either word or long word, but if
  4528.     the register list is destination and the size is word,
  4529.     each register is filled with the source word sign extended
  4530.     to 32-bits.
  4531.  
  4532.     Also, in the case that the register list is the destination,
  4533.     register indirect with predecrement is not a valid source
  4534.     mode. If the register list is the source, then the
  4535.     destination may not be register indirect with postincrement.
  4536.  
  4537.         MOVEM.L    D0/D1/A0,(A2)+        ;invalid
  4538.         MOVEM.W    -(A1),D5/D7/A4        ;invalid
  4539.  
  4540.     The register list is accessed with D0 first through D7, followed
  4541.     by A0 through A7.
  4542.  
  4543. FORMAT
  4544.                                                       <ea>
  4545.     -----------------------------------------=========================
  4546.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6  | 5 | 4 | 3 | 2 | 1 | 0 |
  4547.     |---|---|---|---|---|---|---|---|---|----|-----------|-----------|
  4548.     | 0 | 1 | 0 | 0 | 1 |dr | 0 | 0 | 1 |SIZE|    MODE   | REGISTER  |
  4549.     |----------------------------------------------------------------|
  4550.     |                    MASK FROM REGISTER LIST                     |
  4551.     ------------------------------------------------------------------
  4552.  
  4553.     dr specifies move direction:
  4554.     0->registers to memory
  4555.     1->memory to registers
  4556.  
  4557.     MASK FROM REGISTER LIST specifies registers which must be moved and
  4558.     indicates their move order.
  4559.  
  4560.     For pre-decrementing, mask has the following format:
  4561.     -----------------------------------------------------------------
  4562.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4563.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  4564.     |D0 |D1 |D2 |D3 |D4 |D5 |D6 |D7 |A0 |A1 |A2 |A3 |A4 |A5 |A6 |A7 |
  4565.     ------------------------------------------------------------=====
  4566.                                                                   |
  4567.     First register to be moved------------------------------------'
  4568.  
  4569.     For post-incrementing, mask has the following format:
  4570.     -----------------------------------------------------------------
  4571.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4572.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  4573.     |A7 |A6 |A5 |A4 |A3 |A2 |A1 |A0 |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0 |
  4574.     ------------------------------------------------------------=====
  4575.                                                                   |
  4576.     First register to be moved------------------------------------'
  4577.  
  4578. SIZE
  4579.     0->16 bits.
  4580.     1->32 bits.
  4581.  
  4582. REGISTER
  4583.     <ea> specifies memory address of move.
  4584.  
  4585.     Move from registers to memory, addressing modes allowed are:
  4586.     --------------------------------- -------------------------------
  4587.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4588.     |-------------------------------| |-----------------------------|
  4589.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  4590.     |-------------------------------| |-----------------------------|
  4591.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4592.     |-------------------------------| |-----------------------------|
  4593.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4594.     |-------------------------------| |-----------------------------|
  4595.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  | -  |   -    |
  4596.     |-------------------------------| |-----------------------------|
  4597.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4598.     |-------------------------------| |-----------------------------|
  4599.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4600.     |-------------------------------| |-----------------------------|
  4601.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4602.     |-------------------------------| |-----------------------------|
  4603.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4604.     |-------------------------------| -------------------------------
  4605.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4606.     |-------------------------------|
  4607.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4608.     ---------------------------------
  4609.  
  4610.     Move from memory to registers, addressing modes allowed are:
  4611.     --------------------------------- -------------------------------
  4612.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4613.     |-------------------------------| |-----------------------------|
  4614.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  4615.     |-------------------------------| |-----------------------------|
  4616.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4617.     |-------------------------------| |-----------------------------|
  4618.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4619.     |-------------------------------| |-----------------------------|
  4620.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  |111 |  011   |
  4621.     |-------------------------------| |-----------------------------|
  4622.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4623.     |-------------------------------| |-----------------------------|
  4624.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4625.     |-------------------------------| |-----------------------------|
  4626.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4627.     |-------------------------------| |-----------------------------|
  4628.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4629.     |-------------------------------| -------------------------------
  4630.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4631.     |-------------------------------|
  4632.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4633.     ---------------------------------
  4634.  
  4635. RESULT
  4636.     None.
  4637.  
  4638.  
  4639. ***********************************************************
  4640.  
  4641. Movep "MOVE Peripheral data"
  4642. NAME
  4643.     MOVEP -- Move peripheral data
  4644.  
  4645. SYNOPSIS
  4646.     MOVEP    Dx,(d,Ay)
  4647.     MOVEP    (d,Ay),Dx
  4648.  
  4649.     Size = (Word, Long)
  4650.  
  4651. FUNCTION
  4652.     Data is transfered between a data register and ever-other
  4653.     byte of memory at the selected address.
  4654.     Transfer is made between a data register and alterned bytes of memory
  4655.     at the selected address, must be specified in indirect mode to An with
  4656.     a 16 bits displacement.
  4657.     This instruction is of use with 8 bits peripheral programing.
  4658.  
  4659.     Example:
  4660.     ~~~~~~~
  4661.         LEA    port0,A0    ; A0 -> $FFFFFFFFFFFFFFFF
  4662.         MOVEQ    #0,D0
  4663.         MOVEP.L    D0,(0,A0)    ; A0 -> $FF00FF00FF00FF00
  4664.         MOVE.L    #$55554444,D0
  4665.         MOVEP.L    D0,(1,A0)    ; A0 -> $FF55FF55FF44FF44
  4666.  
  4667. FORMAT
  4668.     -----------------------------------------------------------------
  4669.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4670.     |---|---|---|---|-----------|-----------|---|---|---|-----------|
  4671.     | 0 | 0 | 0 | 0 |Dx REGISTER| OP-MODE   | 0 | 0 | 1 |Ay REGISTER|
  4672.     |---------------------------------------------------------------|
  4673.     |                        16 BITS OFFSET                         |
  4674.     -----------------------------------------------------------------
  4675.  
  4676. OP-MODE
  4677.     100->16 bits move, memory to register
  4678.     101->32 bits move, memory to register
  4679.     110->16 bits move, register to memory
  4680.     111->32 bits move, register to memory
  4681.  
  4682. REGISTER
  4683.     Dx register specifies the number of data register.
  4684.     Ay register specifies the number of address register which takes place
  4685.     in indirect addressing with displacement.
  4686.  
  4687. RESULT
  4688.     None.
  4689.  
  4690.  
  4691. ***********************************************************
  4692.  
  4693. Moveq "MOVE signed 8-bit data Quick"
  4694. NAME
  4695.     MOVEQ -- Move signed 8-bit data quick
  4696.  
  4697. SYNOPSIS
  4698.     MOVEQ    #<data:8>,Dn
  4699.  
  4700.     Size = (Long)
  4701.  
  4702. FUNCTION
  4703.     Move signed 8-bit data to the specified data register.
  4704.     The specified data is sign extended to 32-bits before
  4705.     it is moved to the register.
  4706.  
  4707. FORMAT
  4708.     -----------------------------------------------------------------
  4709.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4710.     |---|---|---|---|-----------|---|-------------------------------|
  4711.     | 0 | 1 | 1 | 1 | REGISTER  | 0 |        IMMEDIATE DATA         |
  4712.     -----------------------------------------------------------------
  4713.  
  4714.     "REGISTER" is one of the 8 datas registers. 
  4715.  
  4716. RESULT
  4717.     X - Not affected.
  4718.     N - Set if the result is negative. Cleared otherwise.
  4719.     Z - Set if the result is zero. Cleared otherwise.
  4720.     V - Always cleared.
  4721.     C - Always cleared.
  4722.  
  4723.  
  4724. ***********************************************************
  4725.  
  4726. Moves "MOVE address Space (PRIVILEGED)"
  4727. NAME
  4728.     MOVES -- Move address space (PRIVILEGED)
  4729.  
  4730. SYNOPSIS
  4731.     MOVES    Rn,<ea>  (68010+)
  4732.     MOVES    <ea>,Rn  (68010+)
  4733.  
  4734.         Size = (Byte, Word, Long)
  4735.  
  4736. FUNCTION
  4737.         Moves contents (Byte, Word, Long) of register Rn to the addressed
  4738.         space by effective address in the addressable space specified by DFC.
  4739.  
  4740.     If destination is an address register, there's extension of operand
  4741.     sign to 32 bits.
  4742.  
  4743. FORMAT
  4744.                                                        <ea>
  4745.     ----------------------------------------=========================
  4746.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4747.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  4748.     | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | SIZE  |   MODE    | REGISTER  |
  4749.     |---|-----------|---|---|---|---|-------|-----------|-----------|
  4750.     |A/D|Rn REGISTER|dr | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  4751.     -----------------------------------------------------------------
  4752.  
  4753.     A/D indicates type of Rn register:
  4754.     0->Rn=Dn
  4755.     1->Rn=An
  4756.  
  4757.     "REGISTER" indicates the number of Rn register.
  4758.  
  4759.     dr specifies direction of move:
  4760.     0->memory to register.
  4761.     1->register to memory.
  4762.  
  4763. SIZE
  4764.     00->Byte
  4765.     01->Word
  4766.     10->Long
  4767.  
  4768. REGISTER
  4769.     <ea> specifies place of source or destination, allowed addressing
  4770.     modes are:
  4771.     --------------------------------- -------------------------------
  4772.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4773.     |-------------------------------| |-----------------------------|
  4774.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  4775.     |-------------------------------| |-----------------------------|
  4776.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4777.     |-------------------------------| |-----------------------------|
  4778.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  4779.     |-------------------------------| |-----------------------------|
  4780.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  4781.     |-------------------------------| |-----------------------------|
  4782.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  4783.     |-------------------------------| |-----------------------------|
  4784.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  4785.     |-------------------------------| |-----------------------------|
  4786.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  4787.     |-------------------------------| |-----------------------------|
  4788.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  4789.     |-------------------------------| -------------------------------
  4790.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4791.     |-------------------------------|
  4792.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4793.     ---------------------------------
  4794.  
  4795. RESULT
  4796.     None.
  4797.  
  4798.     {"MOVE to/from USP" Link MoveUSP}    {"MOVEM" Link Movem}
  4799.     {"MOVEC" Link Movep}    {"MOVEP" Link Movep}
  4800.  
  4801.  
  4802. ***********************************************************
  4803.  
  4804. MUL "Signed and Unsigned MULtiply"
  4805. NAME
  4806.     MULS -- Signed multiply
  4807.     MULU -- Unsigned multiply
  4808.  
  4809. SYNOPSIS
  4810.     MULS.W    <ea>,Dn        16*16->32
  4811.     MULS.L    <ea>,Dn        32*32->32    68020+
  4812.     MULS.L    <ea>,Dh:Dl    32*32->64    68020+
  4813.  
  4814.     MULU.W    <ea>,Dn        16*16->32
  4815.     MULU.L    <ea>,Dn        32*32->32    68020+
  4816.     MULU.L    <ea>,Dh:Dl    32*32->64    68020+
  4817.  
  4818.     Size = (Word)
  4819.     Size = (Word, Long)            68020+
  4820.  
  4821. FUNCTION
  4822.     Multiply two signed (MULS) or unsigned (MULU) integers
  4823.     to produce either a signed or unsigned, respectivly,
  4824.     result.
  4825.  
  4826.     This instruction has three forms. They are basically
  4827.     word, long word, and quad word. The first version is
  4828.     the only one available on a processore lower than a
  4829.     68020. It will multiply two 16-bit integers are produce
  4830.     a 32-bit result. The second will multiply two 32-bit
  4831.     integers and produce a 32-bit result.
  4832.  
  4833.     The third form needs some special consideration. It
  4834.     will multiply two 32-bit integers, specified by <ea>
  4835.     and Dl, the result is (sign) extended to 64-bits with
  4836.     the low order 32 being placed in Dl and the high order
  4837.     32 being placed in Dh.
  4838.  
  4839. FORMAT
  4840.     In the case of MULS.W:
  4841.     ~~~~~~~~~~~~~~~~~~~~~                              <ea>
  4842.     ----------------------------------------=========================
  4843.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4844.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  4845.     | 1 | 1 | 0 | 0 | REGISTER  | 1 | 1 | 1 |    MODE   | REGISTER  |
  4846.     -----------------------------------------------------------------
  4847.  
  4848.     In the case of MULS.L:
  4849.     ~~~~~~~~~~~~~~~~~~~~~                               <ea>
  4850.     -----------------------------------------=========================
  4851.     |15 |14 |13 |12 |11 |10  | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4852.     |---|---|---|---|---|----|---|---|---|---|-----------|-----------|
  4853.     | 0 | 1 | 0 | 0 | 1 | 1  | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  4854.     |---|-----------|---|----|---|---|---|---|-----------|-----------|
  4855.     | 0 |Dq REGISTER| 1 |SIZE| 0 | 0 | 0 | 0 | 0 | 0 | 0 |Dr REGISTER|
  4856.     ------------------------------------------------------------------
  4857.  
  4858.     In the case of MULU.W:
  4859.     ~~~~~~~~~~~~~~~~~~~~~                              <ea>
  4860.     ----------------------------------------=========================
  4861.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4862.     |---|---|---|---|-----------|---|---|---|-----------|-----------|
  4863.     | 1 | 1 | 0 | 0 | REGISTER  | 0 | 1 | 1 |    MODE   | REGISTER  |
  4864.     -----------------------------------------------------------------
  4865.  
  4866.     In the case of MULU.L:
  4867.     ~~~~~~~~~~~~~~~~~~~~~                               <ea>
  4868.     -----------------------------------------=========================
  4869.     |15 |14 |13 |12 |11 |10  | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4870.     |---|---|---|---|---|----|---|---|---|---|-----------|-----------|
  4871.     | 0 | 1 | 0 | 0 | 1 | 1  | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  4872.     |---|-----------|---|----|---|---|---|---|-----------|-----------|
  4873.     | 0 |Dq REGISTER| 0 |SIZE| 0 | 0 | 0 | 0 | 0 | 0 | 0 |Dr REGISTER|
  4874.     ------------------------------------------------------------------
  4875.  
  4876.     "REGISTER" indicates the number of data register.
  4877.  
  4878.     "Dq REGISTER" indicates the number of data register for destination
  4879.     operand. This register first contains 32 bits of low weight of
  4880.     dividend, and after the value of quotient on 32 bits.
  4881.  
  4882.     "SIZE" specifies if dividend is on 32 or 64 bits:
  4883.     0-> 32 bits dividend placed in Dq.
  4884.     1-> 64 bits dividend placed in Dr:Dq.
  4885.  
  4886.     "Dr REGISTER" indicates the number of data register for destination
  4887.     operand. This register first contains 32 bits of upper weight of
  4888.     dividend if "SIZE" = 1, and after the value of rest on 32 bits.
  4889.  
  4890.     If Dr and Dq represents the same register, only quotient on 32 bits
  4891.     is put in Dq.
  4892.  
  4893.     <ea> field specifies source operand, allowed addressing modes are:
  4894.  
  4895.     --------------------------------- -------------------------------
  4896.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4897.     |-------------------------------| |-----------------------------|
  4898.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4899.     |-------------------------------| |-----------------------------|
  4900.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  4901.     |-------------------------------| |-----------------------------|
  4902.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  4903.     |-------------------------------| |-----------------------------|
  4904.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  4905.     |-------------------------------| |-----------------------------|
  4906.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  4907.     |-------------------------------| |-----------------------------|
  4908.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  4909.     |-------------------------------| |-----------------------------|
  4910.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  4911.     |-------------------------------| |-----------------------------|
  4912.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  4913.     |-------------------------------| -------------------------------
  4914.     |([bd,An,Xi]od) |110 |Nã reg. An|
  4915.     |-------------------------------|
  4916.     |([bd,An],Xi,od)|110 |Nã reg. An|
  4917.     ---------------------------------
  4918.  
  4919. RESULT
  4920.     X - Not affected.
  4921.     N - Set if the result is negative. Cleared otherwise.
  4922.     Z - Set if the result is zero. Cleared otherwise.
  4923.     V - Set if overflow. Cleared otherwise.
  4924.     C - Always cleared.
  4925.  
  4926.  
  4927. ***********************************************************
  4928.  
  4929. NBCD "Negate Binary Coded Decimal with extend"
  4930. NAME
  4931.     NBCD -- Negate binary coded decimal with extend
  4932.  
  4933. SYNOPSIS
  4934.     NBCD    <ea>
  4935.  
  4936.     Size = (Byte)
  4937.  
  4938. FUNCTION
  4939.     The specified BCD number and the extend bit are subtracted
  4940.     from zero. Therefore, if the extend bit is set a nines
  4941.     complement is performed, else a tens complement is performed.
  4942.     The result is placed back in the specified <ea>.
  4943.  
  4944.     It can be useful to set the zero flag before performing
  4945.     this operation so that multi precision operations can
  4946.     be correctly tested for zero.
  4947.  
  4948. FORMAT
  4949.     -----------------------------------------------------------------
  4950.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4951.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  4952.     | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  4953.     ----------------------------------------=========================
  4954.                                                        <ea>
  4955.  
  4956. RESULT
  4957.     X - Set the same as the carry bit.
  4958.     N - Undefined.
  4959.     Z - Cleared it the result is non-zero, unchanged otherwise.
  4960.     V - Undefined.
  4961.     C - Set if a borrow was generated, cleared otherwise.
  4962.  
  4963.  
  4964. ***********************************************************
  4965.  
  4966. Neg
  4967. NAME
  4968.     NEG -- Negate
  4969.  
  4970. SYNOPSIS
  4971.     NEG    <ea>
  4972.  
  4973.     Size = (Byte, Word, Long)
  4974.  
  4975. FUNCTION
  4976.     The operand specified by <ea> is subtracted from
  4977.     zero. The result is stored in <ea>.
  4978.  
  4979. FORMAT
  4980.     -----------------------------------------------------------------
  4981.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  4982.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  4983.     | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | SIZE  |    MODE   | REGISTER  |
  4984.     ----------------------------------------=========================
  4985.                                                        <ea>
  4986.  
  4987. SIZE
  4988.     00->Byte.
  4989.     01->Word.
  4990.     10->Long.
  4991.  
  4992. REGISTER
  4993.     <ea> specifies destination operand, addressing modes allowed are:
  4994.     --------------------------------- -------------------------------
  4995.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  4996.     |-------------------------------| |-----------------------------|
  4997.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  4998.     |-------------------------------| |-----------------------------|
  4999.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5000.     |-------------------------------| |-----------------------------|
  5001.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5002.     |-------------------------------| |-----------------------------|
  5003.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  5004.     |-------------------------------| |-----------------------------|
  5005.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  5006.     |-------------------------------| |-----------------------------|
  5007.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5008.     |-------------------------------| |-----------------------------|
  5009.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5010.     |-------------------------------| |-----------------------------|
  5011.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5012.     |-------------------------------| -------------------------------
  5013.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5014.     |-------------------------------|
  5015.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5016.     ---------------------------------
  5017.  
  5018. RESULT
  5019.     X - Set the same as the carry bit.
  5020.     N - Set if the result is negative, otherwise cleared.
  5021.     Z - Set if the result is zero, otherwise cleared.
  5022.     V - Set if overflow, otherwise cleared.
  5023.     C - Cleared if the result is zero, otherwise set.
  5024.  
  5025.  
  5026. ***********************************************************
  5027.  
  5028. Negx "NEGate with eXtend"
  5029. NAME
  5030.     NEGX -- Negate with extend
  5031.  
  5032. SYNOPSIS
  5033.     NEGX    <ea>
  5034.  
  5035.     Size = (Byte, Word, Long)
  5036.  
  5037. FUNCTION
  5038.     Perform an operation similar to a NEG, with the
  5039.     exception that the operand and the extend bit are both
  5040.     subtracted from zero. The result then is being placed in
  5041.     the given <ea>.
  5042.  
  5043.     As with ADDX, SUBX, ABCD,
  5044.     SBCD, and NBCD, it can be useful to set
  5045.     the zero flag before performing this operation so that
  5046.     multi precision operations can be tested for zero.
  5047.  
  5048. FORMAT
  5049.     -----------------------------------------------------------------
  5050.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5051.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  5052.     | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | SIZE  |    MODE   | REGISTER  |
  5053.     ----------------------------------------=========================
  5054.                                                        <ea>
  5055.  
  5056. SIZE
  5057.     00->Byte.
  5058.     01->Word.
  5059.     10->Long.
  5060.  
  5061. REGISTER
  5062.     <ea> specifies destination operand, addressing modes allowed are:
  5063.     --------------------------------- -------------------------------
  5064.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5065.     |-------------------------------| |-----------------------------|
  5066.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  5067.     |-------------------------------| |-----------------------------|
  5068.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5069.     |-------------------------------| |-----------------------------|
  5070.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5071.     |-------------------------------| |-----------------------------|
  5072.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  5073.     |-------------------------------| |-----------------------------|
  5074.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  5075.     |-------------------------------| |-----------------------------|
  5076.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5077.     |-------------------------------| |-----------------------------|
  5078.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5079.     |-------------------------------| |-----------------------------|
  5080.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5081.     |-------------------------------| -------------------------------
  5082.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5083.     |-------------------------------|
  5084.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5085.     ---------------------------------
  5086.  
  5087. RESULT
  5088.     X - Set the same as the carry bit.
  5089.     N - Set if the result is negative, otherwise cleared.
  5090.     Z - Cleared if the result is non-zero, otherwise unchanged.
  5091.     V - Set if an overflow is generated, cleared otherwise.
  5092.     C - Set if a borrow is generated, otherwise cleared.
  5093.  
  5094.  
  5095. ***********************************************************
  5096.  
  5097. Nop "No OPeration"
  5098. NAME
  5099.     NOP -- No operation
  5100.  
  5101. SYNOPSIS
  5102.     NOP
  5103.  
  5104. FUNCTION
  5105.     Nothing happens! This instruction will basically wait until
  5106.     all pending bus activity is completed. This allows
  5107.     synchronization of the pipeline    and prevents instruction overlap.
  5108.  
  5109. FORMAT
  5110.     -----------------------------------------------------------------
  5111.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5112.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  5113.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
  5114.     -----------------------------------------------------------------
  5115.  
  5116. RESULT
  5117.     None.
  5118.  
  5119. ***********************************************************
  5120.  
  5121. Not "Logical complement"
  5122. NAME
  5123.     NOT -- Logical complement
  5124.  
  5125. SYNOPSIS
  5126.     NOT    <ea>
  5127.  
  5128.     Size = (Byte, Word, Long)
  5129.  
  5130. FUNCTION
  5131.     All bits of the specified operand are inverted and placed
  5132.     back in the operand.
  5133.  
  5134. FORMAT
  5135.     -----------------------------------------------------------------
  5136.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5137.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  5138.     | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | SIZE  |    MODE   | REGISTER  |
  5139.     ----------------------------------------=========================
  5140.                                                        <ea>
  5141.  
  5142. SIZE
  5143.     00->Byte.
  5144.     01->Word.
  5145.     10->Long.
  5146.  
  5147. REGISTER
  5148.     <ea> specifies destination operand, addressing modes allowed are:
  5149.     --------------------------------- -------------------------------
  5150.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5151.     |-------------------------------| |-----------------------------|
  5152.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  5153.     |-------------------------------| |-----------------------------|
  5154.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5155.     |-------------------------------| |-----------------------------|
  5156.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5157.     |-------------------------------| |-----------------------------|
  5158.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  5159.     |-------------------------------| |-----------------------------|
  5160.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  5161.     |-------------------------------| |-----------------------------|
  5162.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5163.     |-------------------------------| |-----------------------------|
  5164.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5165.     |-------------------------------| |-----------------------------|
  5166.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5167.     |-------------------------------| -------------------------------
  5168.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5169.     |-------------------------------|
  5170.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5171.     ---------------------------------
  5172.  
  5173. RESULT
  5174.     X - Not affected.
  5175.     N - Set if the result is negative, otherwise cleared.
  5176.     Z - Set if the result is zero, otherwise cleared.
  5177.     V - Always cleared.
  5178.     C - Always cleared.
  5179.  
  5180.  
  5181. ***********************************************************
  5182.  
  5183. Or "Logical OR"
  5184. NAME
  5185.     OR -- Logical OR
  5186.  
  5187. SYNOPSIS
  5188.     OR    <ea>,Dn
  5189.     OR    Dn,<ea>
  5190.  
  5191.     Size = (Byte, Word, Long)
  5192.  
  5193. FUNCTION
  5194.     Performs an OR operation on the destination operand
  5195.     with the source operand.
  5196.  
  5197. FORMAT
  5198.     -----------------------------------------------------------------
  5199.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5200.     |---|---|---|---|-----------|-----------|-----------|-----------|
  5201.     | 1 | 0 | 0 | 0 | REGISTER  |  OP-MODE  |    MODE   | REGISTER  |
  5202.     ----------------------------------------=========================
  5203.                                                        <ea>
  5204.  
  5205. OP-MODE
  5206.     Byte    Word    Long    Operation
  5207.     ~~~~    ~~~~    ~~~~    ~~~~~~~~~
  5208.     000    001    010    <ea> OR <Dn> --> <Dn>
  5209.     100    101    110    <Dn> OR <ea> --> <ea>
  5210.  
  5211. REGISTER
  5212.     If <ea> specifies destination operand, addressing modes allowed are:
  5213.     --------------------------------- -------------------------------
  5214.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5215.     |-------------------------------| |-----------------------------|
  5216.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5217.     |-------------------------------| |-----------------------------|
  5218.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5219.     |-------------------------------| |-----------------------------|
  5220.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5221.     |-------------------------------| |-----------------------------|
  5222.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  5223.     |-------------------------------| |-----------------------------|
  5224.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  5225.     |-------------------------------| |-----------------------------|
  5226.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5227.     |-------------------------------| |-----------------------------|
  5228.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5229.     |-------------------------------| |-----------------------------|
  5230.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5231.     |-------------------------------| -------------------------------
  5232.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5233.     |-------------------------------|
  5234.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5235.     ---------------------------------
  5236.  
  5237.     If <ea> specifies source operand, addressing modes allowed are:
  5238.     --------------------------------- -------------------------------
  5239.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5240.     |-------------------------------| |-----------------------------|
  5241.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  5242.     |-------------------------------| |-----------------------------|
  5243.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5244.     |-------------------------------| |-----------------------------|
  5245.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  5246.     |-------------------------------| |-----------------------------|
  5247.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  5248.     |-------------------------------| |-----------------------------|
  5249.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  5250.     |-------------------------------| |-----------------------------|
  5251.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  5252.     |-------------------------------| |-----------------------------|
  5253.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  5254.     |-------------------------------| |-----------------------------|
  5255.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  5256.     |-------------------------------| -------------------------------
  5257.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5258.     |-------------------------------|
  5259.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5260.     ---------------------------------
  5261.  
  5262. RESULT
  5263.     X - Not Affected
  5264.     N - Set to the value of the most significant bit.
  5265.     Z - Set if the result is zero.
  5266.     V - Always cleared
  5267.     C - Always cleared
  5268.     
  5269.  
  5270. ***********************************************************
  5271.  
  5272. Ori "Logical OR Immediate"
  5273. NAME
  5274.     ORI -- Logical OR immediate
  5275.  
  5276. SYNOPSIS
  5277.     ORI    #<data>,<ea>
  5278.  
  5279.     Size = (Byte, Word, Long)
  5280.  
  5281. FUNCTION
  5282.     Performs an inclusive OR operation on the destination operand
  5283.     with the source operand.
  5284.  
  5285. FORMAT
  5286.                                                        <ea>
  5287.     ----------------------------------------=========================
  5288.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5289.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  5290.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SIZE  |    MODE   | REGISTER  |
  5291.     |-------------------------------|-------------------------------|
  5292.     |    16 BITS IMMEDIATE DATA     |     8 BITS IMMEDIATE DATA     |
  5293.     |---------------------------------------------------------------|
  5294.     |                    32 BITS IMMEDIATE DATA                     |
  5295.     -----------------------------------------------------------------
  5296.  
  5297. SIZE
  5298.     00->Byte.
  5299.     01->Word.
  5300.     10->Long.
  5301.  
  5302. REGISTER
  5303.     <ea> specifies destination operand, addressing modes allowed are:
  5304.     --------------------------------- -------------------------------
  5305.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5306.     |-------------------------------| |-----------------------------|
  5307.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  5308.     |-------------------------------| |-----------------------------|
  5309.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5310.     |-------------------------------| |-----------------------------|
  5311.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5312.     |-------------------------------| |-----------------------------|
  5313.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  5314.     |-------------------------------| |-----------------------------|
  5315.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  5316.     |-------------------------------| |-----------------------------|
  5317.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5318.     |-------------------------------| |-----------------------------|
  5319.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5320.     |-------------------------------| |-----------------------------|
  5321.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5322.     |-------------------------------| -------------------------------
  5323.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5324.     |-------------------------------|
  5325.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5326.     ---------------------------------
  5327.  
  5328. RESULT
  5329.     X - Not Affected
  5330.     N - Set to the value of the most significant bit.
  5331.     Z - Set if the result is zero.
  5332.     V - Always cleared
  5333.     C - Always cleared
  5334.     
  5335.  
  5336.  
  5337. ***********************************************************
  5338.  
  5339. OriCCR "Logical OR immediate to CCR"
  5340. NAME
  5341.     ORI to CCR -- Logical OR immediate to the condition code register
  5342.  
  5343. SYNOPSIS
  5344.     ORI    #<data>,CCR
  5345.  
  5346.     Size = (Byte)
  5347.  
  5348. FUNCTION
  5349.     Performs an OR operation on the condition codes
  5350.     register with the source operand.
  5351.  
  5352. FORMAT
  5353.     -----------------------------------------------------------------
  5354.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5355.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  5356.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
  5357.     |---|---|---|---|---|---|---|---|-------------------------------|
  5358.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |     8 BITS IMMEDIATE DATA     |
  5359.     -----------------------------------------------------------------
  5360.  
  5361. RESULT
  5362.     X - Set if bit 4 of the source is set, cleared otherwise.
  5363.     N - Set if bit 3 of the source is set, cleared otherwise.
  5364.     Z - Set if bit 2 of the source is set, cleared otherwise.
  5365.     V - Set if bit 1 of the source is set, cleared otherwise.
  5366.     C - Set if bit 0 of the source is set, cleared otherwise.
  5367.     
  5368.  
  5369. ***********************************************************
  5370.  
  5371. OriSR "Logical OR immediated to SR (PRIVILEGED)"
  5372. NAME
  5373.     ORI to SR -- Logical OR immediated to the status register (PRIVILEGED)
  5374.  
  5375. SYNOPSIS
  5376.     ORI    #<data>,SR
  5377.  
  5378.     Size = (Word)
  5379.  
  5380. FUNCTION
  5381.     Performs an OR operation on the status register with
  5382.     the source operand, and leaves the result in the status
  5383.     register.
  5384.  
  5385. FORMAT
  5386.     -----------------------------------------------------------------
  5387.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5388.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  5389.     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
  5390.     |---|---|---|---|---|---|---|---|-------------------------------|
  5391.     |                     16 BITS IMMEDIATE DATA                    |
  5392.     -----------------------------------------------------------------
  5393.  
  5394. RESULT
  5395.     X - Set if bit 4 of the source is set, cleared otherwise.
  5396.     N - Set if bit 3 of the source is set, cleared otherwise.
  5397.     Z - Set if bit 2 of the source is set, cleared otherwise.
  5398.     V - Set if bit 1 of the source is set, cleared otherwise.
  5399.     C - Set if bit 0 of the source is set, cleared otherwise.
  5400.     
  5401.  
  5402. ***********************************************************
  5403.  
  5404. PACK "PACK binary coded decimal"
  5405. NAME
  5406.     PACK -- Pack binary coded decimal    (68020+)
  5407.  
  5408. SYNOPSIS
  5409.     PACK    -(Ax),-(Ay),#<adjustment>
  5410.     PACK    Dx,Dy,#<adjustment>
  5411.  
  5412.         Size = (Byte, Long)
  5413.  
  5414. FUNCTION
  5415.     Convert byte-per-digit unpacked BCD to packed two-digit-
  5416.     per-byte BCD.
  5417.     When operand is in a data register, 16 bits adjustment is added
  5418.     to source operand (16 bits). Then, bits 8 to 11 and 0 to 3 are
  5419.     packed and placed in the bits 0 to 7 of destination register.
  5420.     Others bits of this register are not altered.
  5421.  
  5422.     When operand is in memory, there's a research by pre-decrementing
  5423.     of the two bytes placed at given address. The two bytes are
  5424.     linked together, then adjustment is added, and the compacted result
  5425.     is stored at destination's place.
  5426.  
  5427. FORMAT
  5428.     -----------------------------------------------------------------
  5429.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5430.     |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  5431.     | 1 | 0 | 0 | 0 |   Dy/Ay   | 1 | 0 | 1 | 0 | 0 |R/M|   Dx/Ax   |
  5432.     |---------------------------------------------------------------|
  5433.     |                    16 BITS ADJUSTMENT                         |
  5434.     -----------------------------------------------------------------
  5435.  
  5436.     R/M = 0 -> Direct addressing by data register.
  5437.     R/M = 1 -> Addressing by pre-decrementing.
  5438.     Register Dy/Ay specifies destination register.
  5439.     Register Dx/Ax specifies source register.
  5440.     "16 BITS ADJUSTMENT" is an immediate value added to source operand.
  5441.  
  5442. RESULT
  5443.     None.
  5444.  
  5445.  
  5446. ***********************************************************
  5447.  
  5448. Pea "Push Effective Address"
  5449. NAME
  5450.     PEA -- Push effective address
  5451.  
  5452. SYNOPSIS
  5453.     PEA    <ea>
  5454.  
  5455.     Size = (Long)
  5456.  
  5457. FUNCTION
  5458.     Effective address is stored to stack. Stack is decreased.
  5459.  
  5460. FORMAT
  5461.     -----------------------------------------------------------------
  5462.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5463.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5464.     | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |    MODE   | REGISTER  |
  5465.     ----------------------------------------=========================
  5466.                                                        <ea>
  5467.  
  5468. REGISTER
  5469.     <ea> specifies destination operand, allowed addressing modes are:
  5470.     --------------------------------- -------------------------------
  5471.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5472.     |-------------------------------| |-----------------------------|
  5473.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5474.     |-------------------------------| |-----------------------------|
  5475.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5476.     |-------------------------------| |-----------------------------|
  5477.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  5478.     |-------------------------------| |-----------------------------|
  5479.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  |111 |  011   |
  5480.     |-------------------------------| |-----------------------------|
  5481.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  |111 |  011   |
  5482.     |-------------------------------| |-----------------------------|
  5483.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  5484.     |-------------------------------| |-----------------------------|
  5485.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  5486.     |-------------------------------| |-----------------------------|
  5487.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5488.     |-------------------------------| -------------------------------
  5489.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5490.     |-------------------------------|
  5491.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5492.     ---------------------------------
  5493.  
  5494. RESULT
  5495.     None.
  5496.  
  5497.  
  5498. ***********************************************************
  5499.  
  5500. PFLUSH "Invalidate one or several entries in the ATC (PRIVILEGED)"
  5501. NAME
  5502.     PFLUSH -- Invalidate one or several entries in the ATC    (PRIVILEGED)
  5503.  
  5504. SYNOPSIS
  5505.     PFLUSHA
  5506.     PFLUSH    <FC>,#<FC validation>
  5507.     PFLUSH    <FC>,#<FC validation>,<ea>
  5508.     
  5509.     No size specs.
  5510.  
  5511. FUNCTION
  5512.     Those three instructions are used to invalidate one or several entries
  5513.     of the ATC (PMMU cache), i.e. to set the validation bits following to
  5514.     those zero entries.
  5515.  
  5516.     PFLUSHA invalidate all the 22 entries of cache.
  5517.  
  5518.     PFLUSH <FC>,#<FC validation> invalidate entry which follows mentionned
  5519.     Function Codes.
  5520.  
  5521.     PFLUSH <FC>,#<FC validation>,<ea> invalidate entry which address is
  5522.     specified in the destination, of course in taking care of Function
  5523.     Codes.
  5524.  
  5525.     FC validation bits allow to take care of 3 FC bits else only some of
  5526.     these bits.
  5527.     The status register of the PMMU, MMUSR, isn't affected by this
  5528.     instruction.
  5529.  
  5530.     <FC> operand can be mentioned:
  5531.     Ãin immediate.
  5532.     Ãby the three lower bits of a data register.
  5533.     Ãby the register SFC or DFC.
  5534.  
  5535. FORMAT
  5536.                                                        <ea>
  5537.     ----------------------------------------=========================
  5538.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5539.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5540.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5541.     |---|---|---|-----------|---|---|-------------------------------|
  5542.     | 0 | 0 | 1 |    MODE   | 0 | 0 |    FC     |         FC        | 
  5543.     |   |   |   |           |   |   |VALIDATION |                   |
  5544.     -----------------------------------------------------------------
  5545.  
  5546.     MODE field indicates the type of PFLUSH:
  5547.     001->invalidation of all entries.
  5548.     100->invalidation by Function Codes.
  5549.     110->invalidation by the Function Codes and <ea>.
  5550.  
  5551.     FC VALIDATION field indicates the FC bits to take care of.
  5552.     FC field indicates value of Function Codes of the entry to
  5553.     invalidate.
  5554.  
  5555.     10XXX    The Function Codes are XXX.
  5556.     01DDD    The Function Codes are the bits 2 to 0 of a DDD data register.
  5557.     0000    The Function Codes are specified in SFC.
  5558.     0001    The Function Codes are specified in DFC.
  5559.  
  5560. REGISTER
  5561.     <ea> specifies address to invalidate, allowed addressing modes are:
  5562.     --------------------------------- -------------------------------
  5563.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5564.     |-------------------------------| |-----------------------------|
  5565.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5566.     |-------------------------------| |-----------------------------|
  5567.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5568.     |-------------------------------| |-----------------------------|
  5569.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5570.     |-------------------------------| |-----------------------------|
  5571.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  | -  |   -    |
  5572.     |-------------------------------| |-----------------------------|
  5573.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  | -  |   -    |
  5574.     |-------------------------------| |-----------------------------|
  5575.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5576.     |-------------------------------| |-----------------------------|
  5577.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5578.     |-------------------------------| |-----------------------------|
  5579.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5580.     |-------------------------------| -------------------------------
  5581.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5582.     |-------------------------------|
  5583.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5584.     ---------------------------------
  5585.  
  5586. RESULT
  5587.     Not affected.
  5588.  
  5589.  
  5590. ***********************************************************
  5591.  
  5592. PLOAD "LOAD of an entry in the ATC (PRIVILEGED)"
  5593. NAME
  5594.     PLOAD -- Load of an entry in the ATC (PRIVILEGED)
  5595.  
  5596. SYNOPSIS
  5597.     PLOADR    <FC>,<ea>
  5598.     PLOADW    <FC>,<ea>
  5599.     
  5600.     No size specs.
  5601.  
  5602. FUNCTION
  5603.     Those instructions are used to load in the ATC (PMMU cache), one entry
  5604.     following to logic specified <ea>. A research in table  is made for
  5605.     this cache modification and attributes of final descriptor are updated
  5606.     (bits U and M for PLOADW, bits U for PLOADR) according to the executed
  5607.     instruction. PLOADR makes a loading of an entry in the ATC, as if a
  5608.     read cycle was made. PLOADW makes a loading of an entry in the ATC,
  5609.     as if a write cycle was made.
  5610.  
  5611.     The status register of the PMMU, MMUSR, isn't affected by this
  5612.     instruction.
  5613.  
  5614.     <FC> operand can be mentioned:
  5615.     Ãin immediate.
  5616.     Ãby the three lower bits of a data register.
  5617.     Ãby the register SFC or DFC.
  5618.  
  5619. FORMAT
  5620.                                                        <ea>
  5621.     ----------------------------------------=========================
  5622.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5623.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5624.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5625.     |---|---|---|---|---|---|---|---|---|---|-----------------------|
  5626.     | 0 | 0 | 1 | 0 | 0 | 0 |R/W| 0 | 0 | 0 | 0 |         FC        | 
  5627.     -----------------------------------------------------------------
  5628.  
  5629.     R/W field indicates type of access used for research:
  5630.     0->write access.
  5631.     1->read access.
  5632.  
  5633.     FC field indicates value of Function Codes of the entry to
  5634.     invalidate.
  5635.  
  5636.     10XXX    The Function Codes are XXX.
  5637.     01DDD    The Function Codes are the bits 2 to 0 of a DDD data register.
  5638.     0000    The Function Codes are specified in SFC.
  5639.     0001    The Function Codes are specified in DFC.
  5640.  
  5641. REGISTER
  5642.     <ea> specifies logic address to load, allowed addressing modes are:
  5643.     --------------------------------- -------------------------------
  5644.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5645.     |-------------------------------| |-----------------------------|
  5646.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5647.     |-------------------------------| |-----------------------------|
  5648.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5649.     |-------------------------------| |-----------------------------|
  5650.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5651.     |-------------------------------| |-----------------------------|
  5652.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  | -  |   -    |
  5653.     |-------------------------------| |-----------------------------|
  5654.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  | -  |   -    |
  5655.     |-------------------------------| |-----------------------------|
  5656.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5657.     |-------------------------------| |-----------------------------|
  5658.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5659.     |-------------------------------| |-----------------------------|
  5660.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5661.     |-------------------------------| -------------------------------
  5662.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5663.     |-------------------------------|
  5664.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5665.     ---------------------------------
  5666.  
  5667. RESULT
  5668.     Not affected.
  5669.  
  5670.  
  5671. ***********************************************************
  5672.  
  5673. PMOVE "MOVE from or to PMMU registers (PRIVILEGED)"
  5674. NAME
  5675.     PMOVE -- Move from or to PMMU registers (PRIVILEGED)
  5676.  
  5677. SYNOPSIS
  5678.     PMOVE    MMU-reg,<ea>
  5679.     PMOVE    <ea>,MMU-reg
  5680.     PMOVEFD    <ea>,MMU-reg
  5681.     
  5682.     Size = (Word, Long, Quad).
  5683.  
  5684. FUNCTION
  5685.     This instruction is used to read or write PMMU registers.
  5686.     Transfert on CRP or SRP is for a Quadruple word (64 bits), TC, TT0,
  5687.     TT1 one's is for a Long word, and MMUSR one's is for a Word.
  5688.  
  5689.     PMOVEFD instruction does a move with invalidation or not  of PMMU
  5690.     cache. If FD bit is set in the instruction, the ATC isn't invalidated;
  5691.     if FD bit is cleared, ATC is invalidated.
  5692.  
  5693.     If value loaded in CRP or SRP follows to a not valid descriptor,
  5694.     the value is loaded but an exception of configuration error of PMMU
  5695.     is generated.
  5696.  
  5697.     For the TC register, a checking  on fields PS, IS, and TIx is made;
  5698.     if there's error on the total of mentioned bits, operand is loaded
  5699.     but an exception of configuration error of PMMU is generated.
  5700.  
  5701.     MMUSR isn't affected by those transferts, else it is placed in
  5702.     destination!!
  5703.  
  5704. FORMAT
  5705.     For CRP, SRP, TC registers:
  5706.     ~~~~~~~~~~~~~~~~~~~~~~~~~~
  5707.     PMMU-reg field specifies PMMU register:
  5708.     000->TC
  5709.     010->SRP
  5710.     011->CRP
  5711.                                                           <ea>
  5712.     ----------------------------------------=========================
  5713.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5714.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5715.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5716.     |---|---|---|-----------|---|---|---|---|-----------------------|
  5717.     | 0 | 1 | 0 |  MMU-reg  |R/W|FD | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  5718.     -----------------------------------------------------------------
  5719.  
  5720.     For TT0, TT1, registers:
  5721.         ~~~~~~~~~~~~~~~~~~~~~~~
  5722.     PMMU-reg field specifies PMMU register:
  5723.     010->TT0
  5724.     011->TT1
  5725.  
  5726.     FD bit: allows or not ATC invalidation:
  5727.     0->ATC invalidated.
  5728.     1->ATC NOT invalidated.
  5729.  
  5730.                                                           <ea>
  5731.     ----------------------------------------=========================
  5732.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5733.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5734.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5735.     |---|---|---|-----------|---|---|---|---|-----------------------|
  5736.     | 0 | 0 | 0 |  MMU-reg  |R/W|FD | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  5737.     -----------------------------------------------------------------
  5738.  
  5739.     For MMUSR register:
  5740.     ~~~~~~~~~~~~~~~~~~
  5741.                                                          <ea>
  5742.     ----------------------------------------=========================
  5743.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5744.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5745.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5746.     |---|---|---|---|---|---|---|---|---|---|-----------------------|
  5747.     | 0 | 1 | 1 | 0 | 0 | 0 |R/W| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  5748.     -----------------------------------------------------------------
  5749.  
  5750.     R/W field indicates type of access used for research:
  5751.     0->Memory to PMMU register.
  5752.     1->PMMU register to memory.
  5753.  
  5754. REGISTER
  5755.     <ea> specifies memory address, allowed addressing modes are:
  5756.     --------------------------------- -------------------------------
  5757.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5758.     |-------------------------------| |-----------------------------|
  5759.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5760.     |-------------------------------| |-----------------------------|
  5761.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5762.     |-------------------------------| |-----------------------------|
  5763.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5764.     |-------------------------------| |-----------------------------|
  5765.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  | -  |   -    |
  5766.     |-------------------------------| |-----------------------------|
  5767.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  | -  |   -    |
  5768.     |-------------------------------| |-----------------------------|
  5769.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5770.     |-------------------------------| |-----------------------------|
  5771.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5772.     |-------------------------------| |-----------------------------|
  5773.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5774.     |-------------------------------| -------------------------------
  5775.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5776.     |-------------------------------|
  5777.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5778.     ---------------------------------
  5779.  
  5780. RESULT
  5781.     Not affected.
  5782.  
  5783.  
  5784. ***********************************************************
  5785.  
  5786. PTEST "TESTs a logic address (PRIVILEGED)"
  5787. NAME
  5788.     PTEST -- TESTs a logic address (PRIVILEGED)
  5789.  
  5790. SYNOPSIS
  5791.     PTESTR    <FC>,<ea>,#<level>
  5792.     PTESTR    <FC>,<ea>,#<level>,An
  5793.     PTESTW    <FC>,<ea>,#<level>
  5794.     PTESTW    <FC>,<ea>,#<level>,An
  5795.     
  5796.     No size specs.
  5797.  
  5798. FUNCTION
  5799.     This instruction examines the ATC, if level is equal to zero,
  5800.     a research in the translation tables is made, if level is different
  5801.     of zero (1 to 7), then sets MMUSR bits.
  5802.     This instruction can also store, in an address register An, physical
  5803.     address encountred to last level of its research.
  5804.  
  5805.     PTESTR or PTESTW version is used to simulate a read or write cycle and
  5806.     like this, according to the informations founds, exactly set MMUSR.
  5807.  
  5808.     MMUSR bits are set of the following manner:
  5809.  
  5810.     MMUSR bits  |   PTEST level 0        |  PTEST level > 0
  5811.     ~~~~~~~~~~  |   ~~~~~~~~~~~~~        |  ~~~~~~~~~~~~~~~
  5812.     B (bit 15)  | This bit is set if the |This bit is set if a bus error
  5813.                 | bit "Error Bus (B)" of |is generated during research in
  5814.                 | the ATC is set.        |the tables.
  5815.     ----------------------------------------------------------------------
  5816.     L (bit 14)  | This bit is cleared    | This bit is set if an index
  5817.                 |                        |overflow a limit during a
  5818.                 |                        |research.
  5819.     ----------------------------------------------------------------------
  5820.     S (bit 13)  | This bit is cleared    | This bit is set for indicating
  5821.                 |                        |a privilege violation: if S bit
  5822.                 |                        |of one of the descriptors met
  5823.                 |                        |is set and the FC2 bit mentioned
  5824.                 |                        |in the instruction is cleared
  5825.                 |                        |(user access). S isn't defined
  5826.                 |                        |if the bit I of MMUSR is set.
  5827.     ----------------------------------------------------------------------
  5828.     W (bit 11)  | This bit is set if the | This bit is set if WP bit of
  5829.                 | bit WP in entry of the |one of the descriptors
  5830.                 | examined ATC is set.   |encountred is set. Undefined
  5831.                 | Undefined if I is set. |if I is set.
  5832.     ----------------------------------------------------------------------
  5833.     I (bit 10)  | This bit is set if     |This bit is set if one of the
  5834.                 | required logic address |descriptors encountred isn't
  5835.                 | isn't in the ATC or if |valid (DT = 0) or if B or L of
  5836.                 | the bit B of this entry|MMUSR are set during research.
  5837.                 | is set.                |
  5838.     ----------------------------------------------------------------------
  5839.     M (bit 9)   | This bit is set if the |This bit is set if the encountred
  5840.                 | bit M of designed entry|page descriptor has its bit M
  5841.                 | is set. Undefined if I |set. Undefined if I is set.
  5842.                 | is set.                |
  5843.     ----------------------------------------------------------------------
  5844.     T (bit 6)   | This bit is set if     | This bit is cleared.
  5845.                 | mentioned logic address|
  5846.                 | is part of defined     |
  5847.                 | window by TT0 and/or   |
  5848.                 | TT1.                   |
  5849.     ----------------------------------------------------------------------
  5850.     N (bits     |This field is cleared   | This field represents the number
  5851.        2 to 0)  |                        | of level accessed during table
  5852.                 |                        | research.
  5853.     ----------------------------------------------------------------------
  5854.  
  5855.     <FC> operand can be mentioned:
  5856.     Ãin immediate.
  5857.     Ãby the three lower bits of a data register.
  5858.     Ãby the register SFC or DFC.
  5859.  
  5860. FORMAT
  5861.                                                        <ea>
  5862.     ----------------------------------------=========================
  5863.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5864.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  5865.     | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    MODE   | REGISTER  |
  5866.     |---|---|---|-----------|---|---|-------------------------------|
  5867.     | 1 | 0 | 0 |   LEVEL   |R/W| A |    REG    |         FC        | 
  5868.     -----------------------------------------------------------------
  5869.  
  5870.     R/W field indicates type of access used for research:
  5871.     0->write access.
  5872.     1->read access.
  5873.  
  5874.     FC field indicates value of Function Codes of the address to test
  5875.  
  5876.     10XXX    The Function Codes are XXX.
  5877.     01DDD    The Function Codes are the bits 2 to 0 of a DDD data register.
  5878.     0000    The Function Codes are specified in SFC.
  5879.     0001    The Function Codes are specified in DFC.
  5880.  
  5881.     Bit A specifies address register option:
  5882.     0-> no address register
  5883.     1-> address of last accessed descriptor is put in the register
  5884.     specified by REG.
  5885.  
  5886.     REG field indicates, if A = 1 the number of address register. Else
  5887.     if A = 0, REG = 0.
  5888.  
  5889.     LEVEL field indicates the highest logic level to go during research;
  5890.     if test in the ATC, LEVEL = 0.
  5891.  
  5892. REGISTER
  5893.     <ea> specifies logic address to test, allowed addressing modes are:
  5894.     --------------------------------- -------------------------------
  5895.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  5896.     |-------------------------------| |-----------------------------|
  5897.     |      Dn       | -  |    -     | |    Abs.W      |111 |  000   |
  5898.     |-------------------------------| |-----------------------------|
  5899.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  5900.     |-------------------------------| |-----------------------------|
  5901.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  5902.     |-------------------------------| |-----------------------------|
  5903.     |     (An)+     | -  |    -     | |   (d8,PC,Xi)  | -  |   -    |
  5904.     |-------------------------------| |-----------------------------|
  5905.     |    -(An)      | -  |    -     | |   (bd,PC,Xi)  | -  |   -    |
  5906.     |-------------------------------| |-----------------------------|
  5907.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  5908.     |-------------------------------| |-----------------------------|
  5909.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  5910.     |-------------------------------| |-----------------------------|
  5911.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  5912.     |-------------------------------| -------------------------------
  5913.     |([bd,An,Xi]od) |110 |Nã reg. An|
  5914.     |-------------------------------|
  5915.     |([bd,An],Xi,od)|110 |Nã reg. An|
  5916.     ---------------------------------
  5917.  
  5918. RESULT
  5919.     Not affected.
  5920.  
  5921.  
  5922. ***********************************************************
  5923.  
  5924. Reset "RESET external devices"
  5925. NAME
  5926.     RESET -- Reset external devices
  5927.  
  5928. SYNOPSIS
  5929.     RESET
  5930.  
  5931. FUNCTION
  5932.     RESET line is set, then external circuitery is reset.
  5933.     Processor state isn't modified, except PC, which allows restart
  5934.     of execution to the next instruction.
  5935.     If processor is NOT in supervisor state, there's generation of
  5936.     exception "privilege violation", vector nã8.
  5937.  
  5938. FORMAT
  5939.     -----------------------------------------------------------------
  5940.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5941.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  5942.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
  5943.     -----------------------------------------------------------------
  5944.  
  5945. RESULT
  5946.     None.
  5947.  
  5948.  
  5949. ***********************************************************
  5950.  
  5951. Reset "RESET external devices"
  5952. NAME
  5953.     RESET -- Reset external devices
  5954.  
  5955. SYNOPSIS
  5956.     RESET
  5957.  
  5958. FUNCTION
  5959.     RESET line is set, then external circuitery is reset.
  5960.     Processor state isn't modified, except PC, which allows restart
  5961.     of execution to the next instruction.
  5962.     If processor is NOT in supervisor state, there's generation of
  5963.     exception "privilege violation", vector nã8.
  5964.  
  5965. FORMAT
  5966.     -----------------------------------------------------------------
  5967.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  5968.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  5969.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
  5970.     -----------------------------------------------------------------
  5971.  
  5972. RESULT
  5973.     None.
  5974.  
  5975.  
  5976. ***********************************************************
  5977.  
  5978. ROd "ROtate Left and ROtate Right"
  5979. NAME
  5980.     ROL, ROR -- Rotate left and rotate right
  5981.  
  5982. SYNOPSIS
  5983.     ROd    Dx,Dy
  5984.     ROd    #<data>,Dy
  5985.     ROd    <ea>
  5986.     where d is direction, L or R
  5987.  
  5988.     Size = (Byte, Word, Long)
  5989.  
  5990. FUNCTION
  5991.     Rotate the bits of the operand in the specified direction.
  5992.     The rotation count may be specified in two different ways:
  5993.  
  5994.     1. Immediate - the rotation count is specified in the instruction
  5995.  
  5996.     2. Register  - the rotation count is contained in a data register
  5997.                    specified in the instruction
  5998.  
  5999.     For a register, the size may be byte, word, or long, but for a memory
  6000.     location, the size must be a word. The rotation count is also
  6001.     restricted to one for a memory location.
  6002.  
  6003.                   .-------->--------.
  6004.     ROL:      |                 |
  6005.           C <------ OPERAND <---'
  6006.                       <---           
  6007.  
  6008.     ROR:     ,-------<-------.
  6009.              |               |
  6010.              `--> OPERAND -----> C
  6011.                     --->
  6012.  
  6013. FORMAT
  6014.     In the case of the rotating of a register:
  6015.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6016.     -----------------------------------------------------------------
  6017.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6018.     |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  6019.     | 1 | 1 | 1 | 0 |  NUMBER/  |dr |  SIZE |i/r| 1 | 1 | REGISTER  |
  6020.     |   |   |   |   |  REGISTER |   |       |   |   |   |           |
  6021.     -----------------------------------------------------------------
  6022.  
  6023.     In the case of the rotating of a memory area:
  6024.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6025.     -----------------------------------------------------------------
  6026.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6027.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  6028.     | 1 | 1 | 1 | 0 | 0 | 1 | 1 |dr | 1 | 1 |    MODE   | REGISTER  |
  6029.     ----------------------------------------=========================
  6030.                                                       <ea>
  6031.  
  6032. NUMBER/REGISTER
  6033.     Specifies number of rotating or number of register which contents
  6034.     the number of rotating.
  6035.     If i/r = 0, number of rotating is specified in the instruction as
  6036.     immediate data
  6037.     If i/r = 1, it's specified in the data register.
  6038.     If dr = 0, right rotating
  6039.     If dr = 1, left rotating
  6040.  
  6041. SIZE
  6042.     00->one Byte operation
  6043.     01->one Word operation
  6044.     10->one Long operation
  6045.  
  6046. REGISTER
  6047.     For a register rotating:
  6048.     Indicates the number of data register on which rotating is applied.
  6049.  
  6050.     For a memory rotating:
  6051.     <ea> indicates operand which should be rotated.
  6052.     Only addressing modes relatives to memory are allowed:
  6053.  
  6054.     --------------------------------- -------------------------------
  6055.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6056.     |-------------------------------| |-----------------------------|
  6057.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  6058.     |-------------------------------| |-----------------------------|
  6059.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  6060.     |-------------------------------| |-----------------------------|
  6061.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6062.     |-------------------------------| |-----------------------------|
  6063.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6064.     |-------------------------------| |-----------------------------|
  6065.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6066.     |-------------------------------| |-----------------------------|
  6067.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6068.     |-------------------------------| |-----------------------------|
  6069.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6070.     |-------------------------------| |-----------------------------|
  6071.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6072.     |-------------------------------| -------------------------------
  6073.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6074.     |-------------------------------|
  6075.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6076.     ---------------------------------
  6077.  
  6078. RESULT
  6079.     X - Not affected
  6080.     N - Set if the result is negative. Cleared otherwise.
  6081.     Z - Set if the result is zero. Cleared otherwise.
  6082.     V - Always cleared
  6083.     C - Set according to the last bit shifted out of the operand.
  6084.  
  6085.  
  6086. ***********************************************************
  6087.  
  6088. Roxd "ROtate Left with eXtend and ROtate Right with eXtend"
  6089. NAME
  6090.     ROXL, ROXD -- Rotate left with extend and rotate right with extend
  6091.  
  6092. SYNOPSIS
  6093.     ROXd    Dx,Dy
  6094.     ROXd    #<data>,Dy
  6095.     ROXd    <ea>
  6096.     where d is direction, L or R
  6097.  
  6098.     Size = (Byte, Word, Long)
  6099.  
  6100. FUNCTION
  6101.         A rotation is made on destination operand bits.
  6102.         Rotation uses bit X.
  6103.  
  6104.                   .-------->-----------.
  6105.     ROXL:     |                    |
  6106.           C <------ OPERAND <- X --'
  6107.                       <---           
  6108.  
  6109.     ROXR:    ,---------<-------.
  6110.              |                 |
  6111.              `-- X -> OPERAND -----> C
  6112.                        --->
  6113.  
  6114. FORMAT
  6115.     In the case of the rotating of a register:
  6116.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6117.     -----------------------------------------------------------------
  6118.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6119.     |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  6120.     | 1 | 1 | 1 | 0 |  NUMBER/  |dr |  SIZE |i/r| 1 | 0 | REGISTER  |
  6121.     |   |   |   |   |  REGISTER |   |       |   |   |   |           |
  6122.     -----------------------------------------------------------------
  6123.  
  6124.     In the case of the rotating of a memory area:
  6125.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6126.     -----------------------------------------------------------------
  6127.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6128.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  6129.     | 1 | 1 | 1 | 0 | 0 | 1 | 0 |dr | 1 | 1 |    MODE   | REGISTER  |
  6130.     ----------------------------------------=========================
  6131.                                                       <ea>
  6132.  
  6133. NUMBER/REGISTER
  6134.     Specifies number of rotating or number of register which contents
  6135.     the number of rotating.
  6136.     If i/r = 0, number of rotating is specified in the instruction as
  6137.     immediate data
  6138.     If i/r = 1, it's specified in the data register.
  6139.     If dr = 0, right rotating
  6140.     If dr = 1, left rotating
  6141.  
  6142. SIZE
  6143.     00->one Byte operation
  6144.     01->one Word operation
  6145.     10->one Long operation
  6146.  
  6147. REGISTER
  6148.     For a register rotating:
  6149.     Indicates the number of data register on which rotating is applied.
  6150.  
  6151.     For a memory rotating:
  6152.     <ea> indicates operand which should be rotated.
  6153.     Only addressing modes relatives to memory are allowed:
  6154.  
  6155.     --------------------------------- -------------------------------
  6156.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6157.     |-------------------------------| |-----------------------------|
  6158.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  6159.     |-------------------------------| |-----------------------------|
  6160.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  6161.     |-------------------------------| |-----------------------------|
  6162.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6163.     |-------------------------------| |-----------------------------|
  6164.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6165.     |-------------------------------| |-----------------------------|
  6166.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6167.     |-------------------------------| |-----------------------------|
  6168.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6169.     |-------------------------------| |-----------------------------|
  6170.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6171.     |-------------------------------| |-----------------------------|
  6172.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6173.     |-------------------------------| -------------------------------
  6174.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6175.     |-------------------------------|
  6176.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6177.     ---------------------------------
  6178.  
  6179. RESULT
  6180.     X - Set by the last bit out of operand.
  6181.             Not changed if rotation is zero.
  6182.     N - Set if the result is negative. Cleared otherwise.
  6183.     Z - Set if the result is zero. Cleared otherwise.
  6184.     V - Always cleared
  6185.     C - Set according to the last bit shifted out of the operand.
  6186.  
  6187.  
  6188. ***********************************************************
  6189.  
  6190. Rtd "ReTurn and Deallocate parameter stack frame"
  6191. NAME
  6192.     RTD -- Return and deallocate parameter stack frame    (68010+)
  6193.  
  6194. SYNOPSIS
  6195.     RTD    #<offset>
  6196.  
  6197. FUNCTION
  6198.     PC is subtracted from stack and replace old PC address.
  6199.     Then offset is added to SP value.
  6200.  
  6201.     This instruction is useful to restore reserved space memory of
  6202.     stored arguments at time sub-routine is called.
  6203.  
  6204. FORMAT
  6205.     -----------------------------------------------------------------
  6206.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6207.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6208.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
  6209.     |---------------------------------------------------------------|
  6210.     |                        16 BITS OFFSET                         |
  6211.     -----------------------------------------------------------------
  6212.  
  6213.     "16 BITS OFFSET" is a signed 16 bits value to add to SP.
  6214.  
  6215. RESULT
  6216.     None.
  6217.  
  6218.  
  6219. ***********************************************************
  6220.  
  6221. Rte "ReTurn from Exception (PRIVILEGED)"
  6222. NAME
  6223.     RTE -- Return from exception (PRIVILEGED)
  6224.  
  6225. SYNOPSIS
  6226.     RTE
  6227.  
  6228. FUNCTION
  6229.     SR and PC are restored by SP. All SR bits are affected.
  6230.  
  6231. FORMAT
  6232.     -----------------------------------------------------------------
  6233.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6234.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6235.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
  6236.     -----------------------------------------------------------------
  6237.  
  6238. RESULT
  6239.     SR is set following to the restored word taken from SP.
  6240.  
  6241.  
  6242. ***********************************************************
  6243.  
  6244. Rtm "ReTurn from process Module"
  6245. NAME
  6246.     RTM -- Return from process module    (68020 ONLY)
  6247.  
  6248. SYNOPSIS
  6249.     RTM    Rn
  6250.  
  6251. FUNCTION
  6252.     Return from a process module called with CALLM.
  6253.     This instruction is 68020 ONLY and is used with, for cooperation
  6254.     with the PMMU MC68851. Be carreful, it's not available on 68030+.
  6255.         
  6256. RESULT
  6257.     Don't know!
  6258.  
  6259.  
  6260. ***********************************************************
  6261.  
  6262. Rtr "ReTurn and Restore CCR"
  6263. NAME
  6264.     RTR -- Return and restore condition code register
  6265.  
  6266. SYNOPSIS
  6267.     RTR
  6268.  
  6269. FUNCTION
  6270.     CCR and PC are restored by SP.
  6271.     Supervisor byte of SR isn't affected.
  6272.  
  6273. FORMAT
  6274.     -----------------------------------------------------------------
  6275.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6276.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6277.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
  6278.     -----------------------------------------------------------------
  6279.  
  6280. RESULT
  6281.     SR is set following to the restored word taken from SP.
  6282.  
  6283.  
  6284. ***********************************************************
  6285.  
  6286. Rts "ReTurn from Subroutine"
  6287. NAME
  6288.     RTS -- Return from subroutine
  6289.  
  6290. SYNOPSIS
  6291.     RTS
  6292.  
  6293. FUNCTION
  6294.     PC is restored by SP.
  6295.  
  6296. FORMAT
  6297.     -----------------------------------------------------------------
  6298.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6299.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6300.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
  6301.     -----------------------------------------------------------------
  6302.  
  6303. RESULT
  6304.     None.
  6305.  
  6306.  
  6307. ***********************************************************
  6308.  
  6309. Sbcd "Subtract Binary Coded Decimal with extend"
  6310. NAME
  6311.     SBCD -- Subtract binary coded decimal with extend
  6312.  
  6313. SYNOPSIS
  6314.     SBCD    Dy,Dx
  6315.     SBCD    -(Ay),-(Ax)
  6316.  
  6317.     Size = (Byte)
  6318.  
  6319. FUNCTION
  6320.     Subtracts the source operand to the destination operand along with
  6321.     the extend bit, and stores the result in the destination location.
  6322.         The subtraction is performed using binary coded decimal arithmetic.
  6323.         The operands, which are packed BCD numbers, can be addressed in two
  6324.         different ways:
  6325.  
  6326.     1. Data register to data register: The operands are contained in the
  6327.        data registers specified in the instruction.
  6328.  
  6329.     2. Memory to memory: The operands are addressed with the predecrement
  6330.        addressing mode using the address registers specified in the
  6331.        instruction.
  6332.  
  6333.     Normally the Z condition code bit is set via programming before the
  6334.     start of an operation. That allows successful tests for zero results
  6335.     upon completion of multiple-precision operations.
  6336.  
  6337. FORMAT
  6338.     -----------------------------------------------------------------
  6339.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6340.     |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  6341.     | 1 | 0 | 0 | 0 |Ry REGISTER| 1 | 0 | 0 | 0 | 0 |R/M|Rx REGISTER|
  6342.     -----------------------------------------------------------------
  6343.  
  6344.     Ry specifies destination register.
  6345.     Rx specifies source register.
  6346.     If R/M = 0: Rx and Ry are datas registers.
  6347.     If R/M = 1: Rx and Ry are address registers used  for the pre-
  6348.     decrementing.
  6349.  
  6350. RESULT
  6351.     X - Set the same as the carry bit.
  6352.     N - Undefined
  6353.     Z - Cleared if the result is non-zero. Unchanged otherwise.
  6354.     V - Undefined
  6355.     C - Set if a decimal carry was generated. Cleared otherwise.
  6356.  
  6357.  
  6358. ***********************************************************
  6359.  
  6360. Scc "Conditional Set"
  6361. NAME
  6362.     Scc -- Conditional set
  6363.  
  6364. SYNOPSIS
  6365.     Scc    <ea>
  6366.  
  6367.         Size = (Byte)
  6368.  
  6369. FUNCTION
  6370.         If condition is true then byte addressed by <ea> is set to $FF,
  6371.         else byte addressed by <ea> is set to $00.
  6372.  
  6373.     Condition code 'cc' specifies one of the following:
  6374. 0000 F  False            Z = 1      1000 VC oVerflow Clear   V = 0
  6375. 0001 T  True             Z = 0      1001 VS oVerflow Set     V = 1
  6376. 0010 HI HIgh             C + Z = 0  1010 PL PLus             N = 0
  6377. 0011 LS Low or Same      C + Z = 1  1011 MI MInus            N = 1
  6378. 0100 CC Carry Clear      C = 0      1100 GE Greater or Equal N (+) V = 0
  6379. 0101 CS Carry Set        C = 1      1101 LT Less Than        N (+) V = 1
  6380. 0110 NE Not Equal        Z = 0      1110 GT Greater Than     Z + (N (+) V) = 0
  6381. 0111 EQ EQual            Z = 1      1111 LE Less or Equal    Z + (N (+) V) = 1
  6382.  
  6383. FORMAT
  6384.     -----------------------------------------------------------------
  6385.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6386.     |---|---|---|---|---------------|---|---|-----------|-----------|
  6387.     | 0 | 1 | 0 | 1 | cc CONDITION  | 1 | 1 |    MODE   | REGISTER  |
  6388.     ----------------------------------------=========================
  6389.                                                        <ea>
  6390.  
  6391. REGISTER
  6392.     <ea> specifies operand to set, addressing modes allowed are:
  6393.     --------------------------------- -------------------------------
  6394.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6395.     |-------------------------------| |-----------------------------|
  6396.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6397.     |-------------------------------| |-----------------------------|
  6398.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  6399.     |-------------------------------| |-----------------------------|
  6400.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6401.     |-------------------------------| |-----------------------------|
  6402.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6403.     |-------------------------------| |-----------------------------|
  6404.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6405.     |-------------------------------| |-----------------------------|
  6406.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6407.     |-------------------------------| |-----------------------------|
  6408.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6409.     |-------------------------------| |-----------------------------|
  6410.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6411.     |-------------------------------| -------------------------------
  6412.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6413.     |-------------------------------|
  6414.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6415.     ---------------------------------
  6416.  
  6417. RESULT
  6418.     None.
  6419.  
  6420.  
  6421. ***********************************************************
  6422.  
  6423. Stop "Stop processor execution (PRIVILEGED)"
  6424. NAME
  6425.     STOP -- Stop processor execution (PRIVILEGED)
  6426.  
  6427. SYNOPSIS
  6428.     STOP    #<data:16>
  6429.  
  6430. FUNCTION
  6431.     Immediate data is moved to SR. PC is set to next instruction,
  6432.     and the processor stops fetch and execution of instruction.
  6433.     Execution restarts if if a TRACE exception, an interruption, or
  6434.     a RESET takes place.
  6435.     When STOP is executed, a TRACE exception is generated (if T = 1).
  6436.     An interruption is allowed if it level is higher than current one.
  6437.     An external RESET always will generate a RESET exception.
  6438.     If bit S is set to zero by the immediate data, execution of this
  6439.     instruction will generate a "privilege violation".
  6440.  
  6441. FORMAT
  6442.     -----------------------------------------------------------------
  6443.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6444.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6445.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
  6446.     |---------------------------------------------------------------|
  6447.     |                    16 BITS IMMEDIATE DATA                     |
  6448.     -----------------------------------------------------------------
  6449.  
  6450. RESULT
  6451.     SR is set according to immediate data.
  6452.  
  6453.  
  6454. ***********************************************************
  6455.  
  6456. Sub "SUBtract"
  6457. NAME
  6458.     SUB -- Subtract
  6459.  
  6460. SYNOPSIS
  6461.     SUB    <ea>,Dn
  6462.     SUB    Dn,<ea>
  6463.  
  6464.     Size = (Byte, Word, Long)
  6465.  
  6466. FUNCTION
  6467.         Subtracts source operand to destination operand.
  6468.         Result is stored to destination's place.
  6469.  
  6470. FORMAT
  6471.     -----------------------------------------------------------------
  6472.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6473.     |---|---|---|---|-----------|-----------|-----------|-----------|
  6474.     | 1 | 0 | 0 | 1 |  REGISTER |  OP-MODE  |    MODE   |  REGISTER |
  6475.     ----------------------------------------=========================
  6476.                                                           <ea>
  6477.  
  6478. OP-MODE
  6479.     Byte    Word    Long
  6480.     ~~~~    ~~~~    ~~~~
  6481.     000    001    010    (Dn) - (<ea>) -> Dn
  6482.     100    101    110    (<ea>) - (Dn) -> <ea>
  6483.  
  6484. REGISTER
  6485.     One of the 8 datas registers
  6486.  
  6487.     If <ea> is source, allowed addressing modes are:
  6488.     --------------------------------- -------------------------------
  6489.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6490.     |-------------------------------| |-----------------------------|
  6491.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6492.     |-------------------------------| |-----------------------------|
  6493.     |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  6494.     |-------------------------------| |-----------------------------|
  6495.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  6496.     |-------------------------------| |-----------------------------|
  6497.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  6498.     |-------------------------------| |-----------------------------|
  6499.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  6500.     |-------------------------------| |-----------------------------|
  6501.     |   (d16,An)    |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  6502.     |-------------------------------| |-----------------------------|
  6503.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  6504.     |-------------------------------| |-----------------------------|
  6505.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  6506.     |-------------------------------| -------------------------------
  6507.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6508.     |-------------------------------|
  6509.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6510.     ---------------------------------
  6511.      * Word or Long only
  6512.  
  6513.     If <ea> is destination, allowed addressing modes are:
  6514.     --------------------------------- -------------------------------
  6515.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6516.     |-------------------------------| |-----------------------------|
  6517.     |      Dn       | -  |     -    | |    Abs.W      |111 |  000   |
  6518.     |-------------------------------| |-----------------------------|
  6519.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  6520.     |-------------------------------| |-----------------------------|
  6521.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6522.     |-------------------------------| |-----------------------------|
  6523.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6524.     |-------------------------------| |-----------------------------|
  6525.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6526.     |-------------------------------| |-----------------------------|
  6527.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6528.     |-------------------------------| |-----------------------------|
  6529.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6530.     |-------------------------------| |-----------------------------|
  6531.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6532.     |-------------------------------| -------------------------------
  6533.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6534.     |-------------------------------|
  6535.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6536.     ---------------------------------
  6537.     When destination is an Address Register, SUBA instruction is used.
  6538.  
  6539. RESULT
  6540.     X - Set the same as the carry bit.
  6541.     N - Set if the result is negative. Cleared otherwise.
  6542.     Z - Set if the result is zero. Cleared otherwise.
  6543.     V - Set if an overflow is generated. Cleared otherwise.
  6544.     C - Set if a carry is generated. Cleared otherwise.
  6545.  
  6546.  
  6547.  
  6548. ***********************************************************
  6549.  
  6550. Suba "SUBtract Address"
  6551. NAME
  6552.     SUBA -- Subtract address
  6553.  
  6554. SYNOPSIS
  6555.     SUBA    <ea>,An
  6556.  
  6557.     Size = (Word, Long)
  6558.  
  6559. FUNCTION
  6560.         Subtracts source operand to destination operand.
  6561.         Source operand with a Word size is extended to 32 bits before
  6562.         operation. Result is stored to destination's place.
  6563.  
  6564. FORMAT
  6565.     -----------------------------------------------------------------
  6566.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6567.     |---|---|---|---|-----------|-----------|-----------|-----------|
  6568.     | 1 | 0 | 0 | 1 |  REGISTER |  OP-MODE  |    MODE   |  REGISTER |
  6569.     ----------------------------------------=========================
  6570.                                                           <ea>
  6571. OP-MODE
  6572.     Indicates operation lenght:
  6573.     011->one Word operation: source operand is extended to 32 bits
  6574.     111->one Long operation
  6575.  
  6576. REGISTER
  6577.     <ea> is source, allowed addressing modes are:
  6578.     --------------------------------- -------------------------------
  6579.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6580.     |-------------------------------| |-----------------------------|
  6581.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6582.     |-------------------------------| |-----------------------------|
  6583.     |      An       |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  6584.     |-------------------------------| |-----------------------------|
  6585.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  6586.     |-------------------------------| |-----------------------------|
  6587.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  6588.     |-------------------------------| |-----------------------------|
  6589.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  6590.     |-------------------------------| |-----------------------------|
  6591.     |   (d16,An)    |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  6592.     |-------------------------------| |-----------------------------|
  6593.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  6594.     |-------------------------------| |-----------------------------|
  6595.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      |111 |  100   |
  6596.     |-------------------------------| -------------------------------
  6597.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6598.     |-------------------------------|
  6599.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6600.     ---------------------------------
  6601.  
  6602. RESULT
  6603.         None.
  6604.  
  6605.  
  6606. ***********************************************************
  6607.  
  6608. Subi "SUBtract Immediate"
  6609. NAME
  6610.     SUBI -- Subtract immediate
  6611.  
  6612. SYNOPSIS
  6613.     SUBI    #<data>,<ea>
  6614.  
  6615.     Size = (Byte, Word, Long)
  6616.  
  6617. FUNCTION
  6618.     Subtracts the immediate data to the destination operand, and
  6619.     stores the result in the destination location. The size of the
  6620.     operation may be specified as byte, word, or long.
  6621.         The size of the    immediate data matches the operation size.
  6622.  
  6623. FORMAT
  6624.                                                           <ea>
  6625.     ----------------------------------------=========================
  6626.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6627.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  6628.     | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | SIZE  |   MODE    |  REGISTER |
  6629.     |---------------------------------------------------------------|
  6630.     | 16 BITS DATA (with last Byte) |          8 BITS DATA          |
  6631.     |---------------------------------------------------------------|
  6632.     |             32 BITS DATA (included last Word)                 |
  6633.     -----------------------------------------------------------------
  6634.  
  6635. SIZE
  6636.     00->one Byte operation
  6637.     01->one Word operation
  6638.     10->one Long operation
  6639.  
  6640. REGISTER
  6641.     <ea> is always destination, addressing modes are the following:
  6642.     --------------------------------- -------------------------------
  6643.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6644.     |-------------------------------| |-----------------------------|
  6645.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6646.     |-------------------------------| |-----------------------------|
  6647.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  6648.     |-------------------------------| |-----------------------------|
  6649.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6650.     |-------------------------------| |-----------------------------|
  6651.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6652.     |-------------------------------| |-----------------------------|
  6653.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6654.     |-------------------------------| |-----------------------------|
  6655.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6656.     |-------------------------------| |-----------------------------|
  6657.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6658.     |-------------------------------| |-----------------------------|
  6659.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6660.     |-------------------------------| -------------------------------
  6661.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6662.     |-------------------------------|
  6663.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6664.     ---------------------------------
  6665.  
  6666. RESULT
  6667.     X - Set the same as the carry bit.
  6668.     N - Set if the result is negative. Cleared otherwise.
  6669.     Z - Set if the result is zero. Cleared otherwise.
  6670.     V - Set if an overflow is generated. Cleared otherwise.
  6671.     C - Set if a carry is generated. Cleared otherwise.
  6672.  
  6673.  
  6674.  
  6675. ***********************************************************
  6676.  
  6677. Subq "SUBtract 3-bit immediate Quick"
  6678. NAME
  6679.     SUBQ -- Subtract 3-bit immediate quick
  6680.  
  6681. SYNOPSIS
  6682.     SUBQ    #<data>,<ea>
  6683.  
  6684.     Size = (Byte, Word, Long)
  6685.  
  6686. FUNCTION
  6687.     Subtracts the immediate value of 1 to 8 to the operand at the
  6688.     destination location. The size of the operation may be specified as
  6689.     byte, word, or long. When subtracting to address registers,
  6690.         the condition codes are not altered, and the entire destination
  6691.         address register is used regardless of the operation size.
  6692.  
  6693. FORMAT
  6694.     -----------------------------------------------------------------
  6695.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6696.     |---|---|---|---|-----------|---|-------|-----------|-----------|
  6697.     | 0 | 1 | 0 | 1 |    DATA   | 1 | SIZE  |    MODE   |  REGISTER |
  6698.     ----------------------------------------=========================
  6699.                                                           <ea>
  6700.  
  6701. DATA
  6702.     000        ->represent value 8
  6703.     001 to 111 ->immediate data from 1 to 7
  6704.  
  6705. SIZE
  6706.     00->one Byte operation
  6707.     01->one Word operation
  6708.     10->one Long operation
  6709.  
  6710. REGISTER
  6711.     <ea> is always destination, addressing modes are the following:
  6712.  
  6713.     --------------------------------- -------------------------------
  6714.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6715.     |-------------------------------| |-----------------------------|
  6716.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6717.     |-------------------------------| |-----------------------------|
  6718.     |      An *     |001 |Nã reg. An| |    Abs.L      |111 |  001   |
  6719.     |-------------------------------| |-----------------------------|
  6720.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6721.     |-------------------------------| |-----------------------------|
  6722.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6723.     |-------------------------------| |-----------------------------|
  6724.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6725.     |-------------------------------| |-----------------------------|
  6726.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6727.     |-------------------------------| |-----------------------------|
  6728.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6729.     |-------------------------------| |-----------------------------|
  6730.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6731.     |-------------------------------| -------------------------------
  6732.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6733.     |-------------------------------|
  6734.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6735.     ---------------------------------
  6736.      * Word or Long only.
  6737.  
  6738. RESULT
  6739.     X - Set the same as the carry bit.
  6740.     N - Set if the result is negative. Cleared otherwise.
  6741.     Z - Set if the result is zero. Cleared otherwise.
  6742.     V - Set if an overflow is generated. Cleared otherwise.
  6743.     C - Set if a carry is generated. Cleared otherwise.
  6744.  
  6745.  
  6746. ***********************************************************
  6747.  
  6748. Subx "SUBtract with eXtend"
  6749. NAME
  6750.     SUBX -- Subtract with extend
  6751.  
  6752. SYNOPSIS
  6753.     SUBX    Dy,Dx
  6754.     SUBX    -(Ay),-(Ax)
  6755.  
  6756.     Size = (Byte, Word, Long)
  6757.  
  6758. FUNCTION
  6759.     Subtracts the source operand to the destination operand along with
  6760.     the extend bit, and stores the result in the destination location.
  6761.         The subtraction is performed using binary coded decimal arithmetic.
  6762.         The operands, which are packed BCD numbers, can be addressed in two
  6763.         different ways:
  6764.  
  6765.     1. Data register to data register: The operands are contained in the
  6766.        data registers specified in the instruction.
  6767.  
  6768.     2. Memory to memory: The operands are addressed with the predecrement
  6769.        addressing mode using the address registers specified in the
  6770.        instruction.
  6771.  
  6772.     The size of operation can be specified as byte, word, or long.
  6773.  
  6774.     Normally the Z condition code bit is set via programming before the
  6775.     start of an operation. That allows successful tests for zero results
  6776.     upon completion of multiple-precision operations.
  6777.  
  6778. FORMAT
  6779.     -----------------------------------------------------------------
  6780.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6781.     |---|---|---|---|-----------|---|-------|---|---|---|-----------|
  6782.     | 1 | 0 | 0 | 1 |    Rx     | 1 | SIZE  | 0 | 0 |R/M|    Ry     |
  6783.     -----------------------------------------------------------------
  6784.  
  6785.     R/M = 0 -> data register
  6786.     R/M = 1 -> address register
  6787.     Rx:   destination register
  6788.     Ry:   source register
  6789.  
  6790. SIZE
  6791.     00->one Byte operation
  6792.     01->one Word operation
  6793.     10->one Long operation
  6794.  
  6795. RESULT
  6796.     X - Set the same as the carry bit.
  6797.     N - Set if the result is negative. Cleared otherwise.
  6798.     Z - Cleared if the result is non-zero. Unchanged otherwise.
  6799.     V - Set if an overflow is generated. Cleared otherwise.
  6800.     C - Set if a carry is generated. Cleared otherwise.
  6801.  
  6802.  
  6803.  
  6804. ***********************************************************
  6805.  
  6806. Swap "SWAP register upper and lower words"
  6807. NAME
  6808.     SWAP -- Swap register upper and lower words
  6809.  
  6810. SYNOPSIS
  6811.         SWAP    Dn
  6812.  
  6813.         Size = (Word)
  6814.  
  6815. FUNCTION
  6816.         Swaps between 16 low bits and 16 high bits of register.
  6817.  
  6818. FORMAT
  6819.     -----------------------------------------------------------------
  6820.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6821.     |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  6822.     | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | REGISTER  |
  6823.     -----------------------------------------------------------------
  6824.  
  6825.     "REGISTER" indicates the number of register on which swap is made.
  6826.  
  6827. RESULT
  6828.     X - Not affected
  6829.     N - Set if the most-significant bit of the result was set. Cleared
  6830.         otherwise.
  6831.     Z - Set if the 32 bits result was zero. Cleared otherwise.
  6832.     V - Always cleared.
  6833.     C - Always cleared.
  6834.  
  6835.  
  6836. ***********************************************************
  6837.  
  6838. Tas "Test And Set operand"
  6839. NAME
  6840.     TAS -- Test and set operand
  6841.  
  6842. SYNOPSIS
  6843.     TAS    <ea>
  6844.  
  6845.     Size = (Byte)
  6846.  
  6847. FUNCTION
  6848.     Test of a byte addressed by <ea>, bits N and Z of SR are set
  6849.     according to result of test.
  6850.     Bit 7 of byte is set to 1. This instruction uses read-modify-write
  6851.     cycle, which is not dividable and allows synchronisation of several
  6852.     processors. But this instruction is NOT ALLOWED ON AMIGA!
  6853.     This instruction can easily be substituted by BSET.
  6854.  
  6855. FORMAT
  6856.     -----------------------------------------------------------------
  6857.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6858.     |---|---|---|---|---|---|---|---|---|---|-----------|-----------|
  6859.     | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |    MODE   | REGISTER  |
  6860.     ----------------------------------------=========================
  6861.                                                        <ea>
  6862.  
  6863. REGISTER
  6864.     <ea> is destination, addressing modes are the following:
  6865.     --------------------------------- -------------------------------
  6866.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  6867.     |-------------------------------| |-----------------------------|
  6868.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  6869.     |-------------------------------| |-----------------------------|
  6870.     |      An       | -  |     -    | |    Abs.L      |111 |  001   |
  6871.     |-------------------------------| |-----------------------------|
  6872.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    | -  |   -    |
  6873.     |-------------------------------| |-----------------------------|
  6874.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  | -  |   -    |
  6875.     |-------------------------------| |-----------------------------|
  6876.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  | -  |   -    |
  6877.     |-------------------------------| |-----------------------------|
  6878.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)| -  |   -    |
  6879.     |-------------------------------| |-----------------------------|
  6880.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)| -  |   -    |
  6881.     |-------------------------------| |-----------------------------|
  6882.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  6883.     |-------------------------------| -------------------------------
  6884.     |([bd,An,Xi]od) |110 |Nã reg. An|
  6885.     |-------------------------------|
  6886.     |([bd,An],Xi,od)|110 |Nã reg. An|
  6887.     ---------------------------------
  6888.  
  6889. RESULT
  6890.     X - Not affected.
  6891.     N - Set if MSB of byte is set. Cleared otherwise.
  6892.     Z - Set if byte is zero. Cleared otherwise.
  6893.     V - Always cleared.
  6894.     C - Always cleared.
  6895.  
  6896. ***********************************************************
  6897.  
  6898. Trap "Initiate processor TRAP"
  6899. NAME
  6900.     TRAP -- Initiate processor trap
  6901.  
  6902. SYNOPSIS
  6903.     TRAP    #<number>
  6904.  
  6905. FUNCTION
  6906.     Processor starts an exception process. TRAP number is pointed
  6907.     out by 4 bits into the instruction. 16 vectors are free to
  6908.     be used for TRAP (vectors from 32 to 47).
  6909.     So the <number> can go from 0 to 15.
  6910.     PC and SR are stored to SSP, and Vector is written to PC.
  6911.  
  6912. FORMAT
  6913.     -----------------------------------------------------------------
  6914.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6915.     |---|---|---|---|---|---|---|---|---|---|---|---|---------------|
  6916.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |  Nã of TRAP   |
  6917.     -----------------------------------------------------------------
  6918.  
  6919. RESULT
  6920.     None.
  6921.  
  6922.  
  6923. ***********************************************************
  6924.  
  6925. Trapcc "Conditional trap"
  6926. NAME
  6927.     TRAPcc -- Conditional trap        (68020+)
  6928.  
  6929. SYNOPSIS
  6930.     TRAPcc
  6931.     TRAPcc.w    #<data>
  6932.     TRAPcc.l    #<data>
  6933.  
  6934. FUNCTION
  6935.     If "cc CONDITION" is true then there's generation of a level 7
  6936.     exception, else execution continue normally.
  6937.     Immediate data is optional, if given, the exception sub-routine can
  6938.     use it.
  6939.  
  6940.     Condition code 'cc' specifies one of the following:
  6941. 0000 F  False            Z = 1      1000 VC oVerflow Clear   V = 0
  6942. 0001 T  True             Z = 0      1001 VS oVerflow Set     V = 1
  6943. 0010 HI HIgh             C + Z = 0  1010 PL PLus             N = 0
  6944. 0011 LS Low or Same      C + Z = 1  1011 MI MInus            N = 1
  6945. 0100 CC Carry Clear      C = 0      1100 GE Greater or Equal N (+) V = 0
  6946. 0101 CS Carry Set        C = 1      1101 LT Less Than        N (+) V = 1
  6947. 0110 NE Not Equal        Z = 0      1110 GT Greater Than     Z + (N (+) V) = 0
  6948. 0111 EQ EQual            Z = 1      1111 LE Less or Equal    Z + (N (+) V) = 1
  6949.  
  6950. FORMAT
  6951.     -----------------------------------------------------------------
  6952.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6953.     |---|---|---|---|---------------|---|---|---|---|---|-----------|
  6954.     | 0 | 1 | 0 | 1 | cc CONDITION  | 1 | 1 | 1 | 1 | 1 |  OP-MODE  |
  6955.     |---------------------------------------------------------------|
  6956.     |                OPTIONAL 16 BITS IMMEDIATE DATA                |
  6957.     |---------------------------------------------------------------|
  6958.     |                OPTIONAL 32 BITS IMMEDIATE DATA                |
  6959.     -----------------------------------------------------------------
  6960.  
  6961. OP-MODE
  6962.     010-> instruction followed of 16 bits.
  6963.     011-> instruction followed of 32 bits.
  6964.     100-> instruction with no immediate operand.
  6965.  
  6966. RESULT
  6967.     None.
  6968.  
  6969.  
  6970. ***********************************************************
  6971.  
  6972. Trapv " Trap on oVerflow"
  6973. NAME
  6974.  
  6975.     TRAPv  -- Trap on overflow
  6976.  
  6977. SYNOPSIS
  6978.     TRAPV
  6979.  
  6980. FUNCTION
  6981.     If overflow capacity condition is true (V = 1) then there's
  6982.     generation of a level 7 exception, else execution continue
  6983.     normally.
  6984.  
  6985. FORMAT
  6986.     -----------------------------------------------------------------
  6987.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  6988.     |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  6989.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
  6990.     -----------------------------------------------------------------
  6991.  
  6992. RESULT
  6993.     None.
  6994.  
  6995.  
  6996. ***********************************************************
  6997.  
  6998. Tst "TeST operand for zero"
  6999. NAME
  7000.     TST -- Test operand for zero
  7001.  
  7002. SYNOPSIS
  7003.     TST    <ea>
  7004.  
  7005.     Size = (Byte, Word, Long)
  7006.  
  7007. FUNCTION
  7008.     Operand is compared with zero. Flags are set according to the result.
  7009.  
  7010. FORMAT
  7011.     -----------------------------------------------------------------
  7012.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  7013.     |---|---|---|---|---|---|---|---|-------|-----------|-----------|
  7014.     | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | SIZE  |   MODE    |  REGISTER |
  7015.     ----------------------------------------=========================
  7016.                                                           <ea>
  7017.  
  7018. SIZE
  7019.     00->one Byte operation
  7020.     01->one Word operation
  7021.     10->one Long operation
  7022.  
  7023. REGISTER
  7024.     <ea> is destination, if size is 16 or 32 bits then all addressing
  7025.     modes are allowed. If size is 8 bits, allowed addressing modes are:
  7026.     --------------------------------- -------------------------------
  7027.     |Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
  7028.     |-------------------------------| |-----------------------------|
  7029.     |      Dn       |000 |Nã reg. Dn| |    Abs.W      |111 |  000   |
  7030.     |-------------------------------| |-----------------------------|
  7031.     |      An       | -  |    -     | |    Abs.L      |111 |  001   |
  7032.     |-------------------------------| |-----------------------------|
  7033.     |     (An)      |010 |Nã reg. An| |   (d16,PC)    |111 |  010   |
  7034.     |-------------------------------| |-----------------------------|
  7035.     |     (An)+     |011 |Nã reg. An| |   (d8,PC,Xi)  |111 |  011   |
  7036.     |-------------------------------| |-----------------------------|
  7037.     |    -(An)      |100 |Nã reg. An| |   (bd,PC,Xi)  |111 |  011   |
  7038.     |-------------------------------| |-----------------------------|
  7039.     |    (d16,An)   |101 |Nã reg. An| |([bd,PC,Xi],od)|111 |  011   |
  7040.     |-------------------------------| |-----------------------------|
  7041.     |   (d8,An,Xi)  |110 |Nã reg. An| |([bd,PC],Xi,od)|111 |  011   |
  7042.     |-------------------------------| |-----------------------------|
  7043.     |   (bd,An,Xi)  |110 |Nã reg. An| |    #data      | -  |   -    |
  7044.     |-------------------------------| -------------------------------
  7045.     |([bd,An,Xi]od) |110 |Nã reg. An|
  7046.     |-------------------------------|
  7047.     |([bd,An],Xi,od)|110 |Nã reg. An|
  7048.     ---------------------------------
  7049.  
  7050. RESULT
  7051.     X - Not affected.
  7052.     N - Set if the result is negative. Cleared otherwise.
  7053.     Z - Set if the result is zero. Cleared otherwise.
  7054.     V - Always cleared.
  7055.     C - Always cleared.
  7056.  
  7057.  
  7058. ***********************************************************
  7059.  
  7060. Unlk "Free stack frame created by LINK"
  7061. NAME
  7062.     UNLK -- Free stack frame created by LINK
  7063.  
  7064. SYNOPSIS
  7065.     UNLK    An
  7066.  
  7067. FUNCTION
  7068.     This instruction does the inverse process of LINK instruction.
  7069.     Address register specified is moved in SP.
  7070.     Contents of SP is moved into address register.
  7071.  
  7072. FORMAT
  7073.     -----------------------------------------------------------------
  7074.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  7075.     |---|---|---|---|---|---|---|---|---|---|---|---|---|-----------|
  7076.     | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | REGISTER  |
  7077.     -----------------------------------------------------------------
  7078.  
  7079.     "REGISTER" indicates the number of address register, used as area
  7080.     pointer.
  7081.  
  7082. RESULT
  7083.     None.
  7084.  
  7085.  
  7086. ***********************************************************
  7087.  
  7088. Unpk "Unpack binary coded decimal"
  7089. NAME
  7090.     UNPK -- Unpack binary coded decimal    (68020+)
  7091.  
  7092. SYNOPSIS
  7093.     UNPK    -(Ax),-(Ay),#<adjustment>
  7094.     UNPK    Dx,Dy,#<adjustment>
  7095.  
  7096.     No size specs
  7097.  
  7098. FUNCTION
  7099.     Convert packed two-digit-per-byte BCD to byte-per-digit
  7100.     unpacked BCD.
  7101.  
  7102. FORMAT
  7103.     -----------------------------------------------------------------
  7104.     |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  7105.     |---|---|---|---|-----------|---|---|---|---|---|---|-----------|
  7106.     | 1 | 0 | 0 | 0 |   Dy/Ay   | 1 | 1 | 0 | 0 | 0 |R/M|   Dx/Ax   |
  7107.     |---------------------------------------------------------------|
  7108.     |                    16 BITS ADJUSTMENT                         |
  7109.     -----------------------------------------------------------------
  7110.  
  7111.     R/M = 0 -> data register.
  7112.     R/M = 1 -> Memory by pre-decrementing.
  7113.     Register Dy/Ay specifies destination register.
  7114.     Register Dx/Ax specifies source register.
  7115.     "16 BITS ADJUSTMENT" is an immediate value added to source operand.
  7116.  
  7117. RESULT
  7118.     None.
  7119.  
  7120. +--------------------------------------------------------------------------+
  7121. |            Instruction Cycles table
  7122. +--------------------------------------------------------------------------+
  7123. 68030 Instruction times
  7124.  
  7125. CEA  - Add Calculate Effective Address time (CEA)
  7126. CIEA - Add Calculate Immediate Effective Address time (CIEA)
  7127. FEA  - Add Fetch Effective Address time (FEA)
  7128. FIEA - Add Fetch Immediate Effective Address time (FIEA)
  7129. JEA  - Add Jump Effective Address Time (JEA)
  7130.  
  7131.  
  7132.  (r/p/w)  r - Read Cycles
  7133.           p - Prefetch Cycles
  7134.           w - Write Cycles
  7135.  
  7136.                                     Head  Tail   I-Cache     No-Cache
  7137.      move    Rn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7138.      move    Rn,An                   2     0      2(0/0/0)    2(0/1/0)
  7139. FEA  move    EA,An                   0     0      2(0/0/0)    2(0/1/0)
  7140. FEA  move    EA,Dn                   0     0      2(0/0/0)    2(0/1/0)
  7141.      move    Rn,(An)                 0     1      3(0/0/1)    4(0/1/1)
  7142. FEA  move    SOURCE,(An)             2     0      4(0/0/1)    5(0/1/1)
  7143.      move    Rn,(An)+                0     1      3(0/0/1)    4(0/1/1)
  7144. FEA  move    SOURCE,(An)+            2     0      4(0/0/1)    5(0/1/1)
  7145.      move    Rn,-(An)                0     2      4(0/0/1)    4(0/1/1)
  7146. FEA  move    SOURCE,-(An)            2     0      4(0/0/1)    5(0/1/1)
  7147. FEA  move    EA,(d16,An)             2     0      4(0/0/1)    5(0/1/1)
  7148. FEA  move    EA,xxx.W                2     0      4(0/0/1)    5(0/1/1)
  7149. FEA  move    EA,xxx.L                0     0      6(0/0/1)    7(0/2/1)
  7150. FEA  move    EA,(d8,An,Xn)           4     0      6(0/0/1)    7(0/1/1)
  7151. FEA  move    EA,(d16,An)             2     0      8(0/0/1)    9(0/2/1)
  7152. FEA  move    EA,(d16,PC)             2     0      8(0/0/1)    9(0/2/1)
  7153. FEA  move    EA,(d16,An,Xn)          2     0      8(0/0/1)    9(0/2/1)
  7154. FEA  move    EA,(d16,PC,Xn)          2     0      8(0/0/1)    9(0/2/1)
  7155. FEA  move    EA,([d16,An],Xn)        2     0     10(1/0/1)   11(1/2/1)
  7156. FEA  move    EA,([d16,PC],Xn)        2     0     10(1/0/1)   11(1/2/1)
  7157. FEA  move    EA,([d16,An],d16)       2     0     12(1/0/1)   14(1/2/1)
  7158. FEA  move    EA,([d16,PC],d16)       2     0     12(1/0/1)   14(1/2/1)
  7159. FEA  move    EA,([d16,An],d32)       2     0     14(1/0/1)   16(1/3/1)
  7160. FEA  move    EA,([d16,PC],d32)       2     0     14(1/0/1)   16(1/3/1)
  7161. FEA  move    EA,([d16,An],Xn,d32)    2     0     14(1/0/1)   16(1/3/1)
  7162. FEA  move    EA,([d16,PC],Xn,d32)    2     0     14(1/0/1)   16(1/3/1)
  7163. FEA  move    EA,(B)                  4     0      8(0/0/1)    9(0/1/1)
  7164. FEA  move    EA,(d16,B)              4     0     10(0/0/1)   12(0/2/1)
  7165. FEA  move    EA,(d32,B)              4     0     14(0/0/1)   16(0/2/1)
  7166. FEA  move    EA,([B])                4     0     10(1/0/1)   11(1/1/1)
  7167. FEA  move    EA,([B].l)              4     0     10(1/0/1)   11(1/1/1)
  7168. FEA  move    EA,([B],d16)            4     0     12(1/0/1)   14(1/2/1)
  7169. FEA  move    EA,([B].l,d16)          4     0     12(1/0/1)   14(1/2/1)
  7170. FEA  move    EA,([B],d32)            4     0     14(1/0/1)   16(1/2/1)
  7171. FEA  move    EA,([B].l,d32)          4     0     14(1/0/1)   16(1/2/1)
  7172. FEA  move    EA,([d16,B])            4     0     12(1/0/1)   14(1/2/1)
  7173. FEA  move    EA,([d16,B].l)          4     0     12(1/0/1)   14(1/2/1)
  7174. FEA  move    EA,([d16,B],d16)        4     0     14(1/0/1)   17(1/2/1)
  7175. FEA  move    EA,([d16,B].l,d16)      4     0     14(1/0/1)   17(1/2/1)
  7176. FEA  move    EA,([d16,B],d32)        4     0     16(1/0/1)   19(1/3/1)
  7177. FEA  move    EA,([d16,B].l,d32)      4     0     16(1/0/1)   19(1/3/1)
  7178. FEA  move    EA,([d32,B])            4     0     16(1/0/1)   18(1/2/1)
  7179. FEA  move    EA,([d32,B].l)          4     0     16(1/0/1)   18(1/2/1)
  7180. FEA  move    EA,([d32,B],d16)        4     0     18(1/0/1)   21(1/3/1)
  7181. FEA  move    EA,([d32,B].l,d16)      4     0     18(1/0/1)   21(1/3/1)
  7182. FEA  move    EA,([d32,B],d32)        4     0     18(1/0/1)   23(1/3/1)
  7183. FEA  move    EA,([d32,B].l,d32)      4     0     18(1/0/1)   23(1/3/1)
  7184.      exg    Ry,Rx                   4     0      4(0/0/0)    4(0/1/0)
  7185.      movec    Cr,Rn                   6     0      6(0/0/0)    6(0/1/0)
  7186.      movec    Rn,usp vbr caar msp isp 6     0      6(0/0/0)    6(0/1/0)
  7187.      movec    Rn,sfc dfc cacr         4     0     12(0/0/0)   12(0/1/0)
  7188.      move    ccr,Dn                  2     0      4(0/0/0)    4(0/1/0)
  7189. CEA  move    ccr,mem                 2     0      4(0/0/1)    5(0/1/1)
  7190.      move    Dn,ccr                  4     0      4(0/0/1)    4(0/1/1)
  7191. CEA  move    EA,ccr                  0     0      4(0/0/1)    4(0/1/1)
  7192.      move    sr,Dn                   2     0      4(0/0/1)    4(0/1/1)
  7193. CEA  move    sr,mem                  2     0      4(0/0/1)    4(0/1/1)
  7194. FEA  move    EA,sr                   0     0      8(0/0/0)   10(0/1/0)
  7195. CIEA movem    EA,rl (+)               2     0     8+4n(n/0/0)    8+4n(n/1/0)
  7196. CIEA movem    rl,EA (+)               2     0     4+2n(0/0/n) 4+2n(0/1/n)
  7197.      movep.w Dn,(d16,An)            4     0     10(0/0/2)   10(0/1/2)
  7198.      movep.w (d16,An),Dn            2     0     10(2/0/0)   10(2/1/0)
  7199.      movep.l Dn,(d16,An)            4     0     14(0/0/4)   14(0/1/4)
  7200.      movep.l (d16,An),Dn            2     0     14(4/0/0)   14(4/1/0)
  7201. CIEA moves    EA,Rn                   3     0      7(1/0/0)    7(1/1/0)
  7202. CIEA moves    Rn,EA                   2     1      5(0/0/1)    6(0/1/1)
  7203.      move    usp,An                  4     0      4(0/0/0)    4(0/1/1)
  7204.      move    An,usp                  4     0      4(0/0/0)    4(0/1/0)
  7205.      swap    Dn                      4     0      4(0/0/0)    4(0/1/0)
  7206.      add    Rn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7207.      adda.w    Rn,An                   4     0      4(0/0/0)    4(0/1/0)
  7208.      adda.l    Rn,An                   2     0      2(0/0/0)    2(0/1/0)
  7209. FEA  add    EA,Dn                   0     0      2(0/0/0)    2(0/1/0)
  7210. FEA  adda.w    EA,An                   0     0      4(0/0/0)    4(0/1/0)
  7211. FEA  adda.l    EA,An                   0     0      2(0/0/0)    2(0/1/0)
  7212. FEA  add    Dn,EA                   0     1      3(0/0/1)    4(0/1/1)
  7213.      and    Dn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7214. FEA  and    EA,Dn                   0     0      2(0/0/0)    2(0/1/0)
  7215. FEA  and    Dn,EA                   0     1      3(0/0/1)    4(0/1/1)
  7216.      eor    Dn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7217. FEA  eor    Dn,EA                   0     1      3(0/0/1)    4(0/1/1)
  7218.      or    Dn,Dn                       2     0      2(0/0/0)    2(0/1/0)
  7219.      or    EA,Dn                       0     0      2(0/0/0)    2(0/1/0)
  7220.      or    Dn,EA                       0     1      3(0/0/1)    4(0/1/1)
  7221.      sub    Rn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7222. FEA  sub    EA,Dn                   0     0      2(0/0/0)    2(0/1/0)
  7223. FEA  sub    Dn,EA                   0     1      3(0/0/1)    4(0/1/1)
  7224.      suba.w    Rn,An                   4     0      4(0/0/0)    4(0/1/0)
  7225.      suba.l    Rn,An                   2     0      2(0/0/0)    2(0/1/0)
  7226. FEA  suba.w    EA,An                   0     0      4(0/0/0)    4(0/1/0)
  7227. FEA  suba.l    EA,An                   0     0      2(0/0/0)    2(0/1/0)
  7228.      cmp    Rn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7229. FEA  cmp    EA,Dn                   0     0      2(0/0/0)    2(0/1/0)
  7230.      cmpa    Rn,An                   4     0      4(0/0/0)    4(0/1/0)
  7231. FEA  cmpa    EA,An                   0     0      4(0/0/0)    4(0/1/0)
  7232. FIEA cmp2    EA,Rn (max)             2     0     20(1/0/0)   20(1/1/0)
  7233. FEA  muls.w    EA,Dn (max)             2     0     28(0/0/0)   28(0/1/0)
  7234. FIEA muls.l    EA,Dn (max)             2     0     44(0/0/0)   44(0/1/0)
  7235. FEA  mulu.w    EA,Dn (max)             2     0     28(0/0/0)   28(0/1/0)
  7236. FIEA mulu.l    EA,Dn (max)             2     0     44(0/0/0)   44(0/1/0)
  7237.      divs.w    Dn,Dn (max)             2     0     56(0/0/0)   56(0/1/0)
  7238. FEA  divs.w    EA,Dn (max)             0     0     56(0/0/0)   56(0/1/0)
  7239. FIEA divs.l    Dn,Dn (max)             6     0     90(0/0/0)   90(0/1/0)
  7240. FIEA divs.l    EA,Dn (max)             0     0     90(0/0/0)   90(0/1/0)
  7241.      divu.w    Dn,Dn (max)             2     0     44(0/0/0)   44(0/1/0)
  7242. FEA  divu.w    EA,Dn (max)             0     0     44(0/0/0)   44(0/1/0)
  7243. FIEA divu.l    Dn,Dn (max)             6     0     78(0/0/0)   78(0/1/0)
  7244. FIEA divu.l    EA,Dn (max)             0     0     78(0/0/0)   78(0/1/0)
  7245.      moveq    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7246.      addq    #(data),Rn              2     0      2(0/0/0)    2(0/1/0)
  7247. FEA  addq    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7248.      subq    #(data),Rn              2     0      2(0/0/0)    2(0/1/0)
  7249. FEA  subq    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7250. FIEA addi    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7251. FIEA addi    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7252. FIEA andi    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7253. FIEA andi    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7254. FIEA eori    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7255. FIEA eori    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7256. FIEA ori    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7257. FIEA ori    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7258. FIEA subi    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7259. FIEA subi    #(data),Mem             0     1      3(0/0/1)    4(0/1/1)
  7260. FIEA cmpi    #(data),Dn              2     0      2(0/0/0)    2(0/1/0)
  7261. FIEA cmpi    #(data),Mem             0     0      3(0/0/1)    2(0/1/0)
  7262.      abcd    Dn,Dn                   0     0      4(0/0/0)    4(0/1/0)
  7263.      abcd    -(An),-(An)             2     1     13(2/0/1)   14(2/1/1)
  7264.      sbcd    Dn,Dn                   0     0      4(0/0/0)    4(0/1/0)
  7265.      sbcd    -(An),-(An)             2     1     13(2/0/1)   14(2/1/1)
  7266.      addx    Dn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7267.      addx    -(An),-(An)             2     1      9(2/0/1)   10(2/1/1)
  7268.      subx    Dn,Dn                   2     0      2(0/0/0)    2(0/1/0)
  7269.      subx    -(An),-(An)             2     1      9(2/0/1)   10(2/1/1)
  7270.      cmpm    (An)+,(An)+             0     0      8(2/0/0)    8(2/1/0)
  7271.      pack    Dn,Dn,#(data)           6     0      6(0/0/0)    6(0/1/0)
  7272.      pack    -(An),-(An),#(data)     2     1     11(1/0/1)   11(1/1/1)
  7273.      unpk    Dn,Dn,#(data)           8     0      8(0/0/0)    8(0/1/0)
  7274.      unpk    -(An),-(An),#(data)     2     1     11(1/0/1)   11(1/1/1)
  7275.      clr    Dn                      2     0      2(0/0/0)    2(0/1/0)
  7276. CEA  clr    Mem                     0     1      3(0/0/1)    4(0/1/1)
  7277.      neg    Dn                      2     0      2(0/0/0)    2(0/1/0)
  7278. FEA  neg    Mem                     0     1      3(0/0/1)    4(0/1/1)
  7279.      negx    Dn                      2     0      2(0/0/0)    2(0/1/0)
  7280. FEA  negx    Mem                     0     1      3(0/0/1)    4(0/1/1)
  7281.      not    Dn                      2     0      2(0/0/0)    2(0/1/0)
  7282. FEA  not    Mem                     0     1      3(0/0/1)    4(0/1/1)
  7283.      ext    Dn                      4     0      4(0/0/0)    4(0/1/0)
  7284.      nbcd    Dn                      0     0      6(0/0/0)    6(0/1/0)
  7285.      scc    Dn                      4     0      4(0/0/0)    4(0/1/0)
  7286. CEA  scc    Mem                     0     1      5(0/0/1)    5(0/1/1)
  7287.      tas    Dn                      4     0      4(0/0/0)    4(0/1/0)
  7288. CEA  tas    Mem                     3     0     12(1/0/1)   12(1/1/1)
  7289.      tst    Dn                      0     0      2(0/0/0)    2(0/1/0)
  7290. FEA  tst    Mem                     0     0      2(0/0/0)    2(0/1/0)
  7291.      ls?    #(data),Dy              4     0      4(0/0/0)    4(0/1/0)
  7292.      ls?    Dx,Dy (shift << size)   6     0      6(0/0/0)    6(0/1/0)
  7293.      ls?    Dx,Dy (shift >> size)   8     0      8(0/0/0)    8(0/1/0)
  7294. FEA  ls?    Mem (by one)            0     0      4(0/0/1)    4(0/1/1)
  7295.      asl    #(data),Dy              2     0      6(0/0/0)    6(0/1/0)
  7296.      asl    Dx,Dy                   4     0      8(0/0/0)    8(0/1/0)
  7297.      asl    Mem (by one)            0     0      6(0/0/0)    6(0/1/0)
  7298.      asr    #(data),Dy              4     0      4(0/0/0)    4(0/1/0)
  7299.      asr    Dx,Dy (shift << size)   6     0      6(0/0/0)    6(0/1/0)
  7300.      asr    Dx,Dy (shift >> size)   10    0     10(0/0/0)   10(0/1/0)
  7301. FEA  asr    Mem (by one)            0     0      4(0/0/0)    4(0/1/0)
  7302.      ro?    #(data),Dy              4     0      6(0/0/0)    6(0/1/0)
  7303.      ro?    Dx,Dy                   6     0      8(0/0/0)    8(0/1/0)
  7304. FEA  ro?    Mem (by one)            0     0      6(0/0/1)    6(0/1/1)
  7305.      rox?    Dn                      10    0     12(0/0/0)   12(0/1/0)
  7306. FEA  rox?    Mem (by one)            0     0      4(0/0/0)    4(0/1/0)
  7307.      btst    #(data),Dn              4     0      4(0/0/0)    4(0/1/0)
  7308.      btst    Dn,Dn                   4     0      4(0/0/0)    4(0/1/0)
  7309. FIEA btst    #(data),Mem             0     0      4(0/0/0)    4(0/1/0)
  7310. FEA  btst    Dn,Mem                  0     0      4(0/0/0)    4(0/1/0)
  7311.      bchg    #(data),Dn              6     0      6(0/0/0)    6(0/1/0)
  7312.      bchg    Dn,Dn                   6     0      6(0/0/0)    6(0/1/0)
  7313. FIEA bchg    #(data),Mem             0     0      6(0/0/1)    6(0/1/1)
  7314. FEA  bchg    Dn,Mem                  0     0      6(0/0/1)    6(0/1/1)
  7315.      bclr    #(data),Dn              6     0      6(0/0/0)    6(0/1/0)
  7316.      bclr    Dn,Dn                   6     0      6(0/0/0)    6(0/1/0)
  7317. FIEA bclr    #(data),Mem             0     0      6(0/0/1)    6(0/1/1)
  7318. FEA  bclr    Dn,Mem                  0     0      6(0/0/1)    6(0/1/1)
  7319.      bset    #(data),Dn              6     0      6(0/0/0)    6(0/1/0)
  7320.      bset    Dn,Dn                   6     0      6(0/0/0)    6(0/1/0)
  7321. FIEA bset    #(data),Mem             0     0      6(0/0/1)    6(0/1/1)
  7322. CIEA bset    Dn,Mem                  0     0      6(0/0/1)    6(0/1/1)
  7323.      bftst    Dn                      8     0      8(0/0/0)    8(0/1/0)
  7324. CIEA bftst    Mem (< 5 bytes)         6     0     10(1/0/0)   10(1/1/0)
  7325. CIEA bftst    Mem (> 5 bytes)         6     0     14(2/0/0)   14(2/1/0)
  7326.      bfchg    Dn                      14    0     14(0/0/0)   14(0/1/0)
  7327. CIEA bfchg    Mem (< 5 bytes)         6     0     14(1/0/1)   14(1/1/1)
  7328. CIEA bfchg    Mem (> 5 bytes)         6     0     22(2/0/2)   22(2/1/2)
  7329.      bfclr    Dn                      14    0     14(0/0/0)   14(0/1/0)
  7330. CIEA bfclr    Mem (< 5 bytes)         6     0     14(1/0/1)   14(1/1/1)
  7331. CIEA bfclr    Mem (> 5 bytes)         6     0     22(2/0/2)   22(2/1/2)
  7332.      bfset    Dn                      14    0     14(0/0/0)   14(0/1/0)
  7333. CIEA bfset    Mem (< 5 bytes)         6     0     14(1/0/1)   14(1/1/1)
  7334. CIEA bfset    Mem (> 5 bytes)         6     0     22(2/0/2)   22(2/1/2)
  7335.      bfexts    Dn                      10    0     10(0/0/0)   10(0/1/0)
  7336. CIEA bfexts Mem (< 5 bytes)         6     0     12(1/0/0)   12(1/1/0)
  7337. CIEA bfexts    Mem (> 5 bytes)         6     0     18(2/0/0)   18(2/1/0)
  7338.      bfextu    Dn                      10    0     10(0/0/0)   10(0/1/0)
  7339. CIEA bfextu Mem (< 5 bytes)         6     0     12(1/0/0)   12(1/1/0)
  7340. CIEA bfextu    Mem (> 5 bytes)         6     0     18(2/0/0)   18(2/1/0)
  7341.      bfins    Dn                      12    0     12(0/0/0)   12(0/1/0)
  7342. CIEA bfins    Mem (< 5 bytes)         6     0     12(1/0/1)   12(1/1/1)
  7343. CIEA bfins    Mem (> 5 bytes)         6     0     18(2/0/2)   18(2/1/2)
  7344.      bfffo    Dn                      20    0     20(0/0/0)   20(0/1/0)
  7345. CIEA bfffo    Mem (< 5 bytes)         6     0     22(1/0/0)   22(1/1/0)
  7346. CIEA bfffo    Mem (> 5 bytes)         6     0     28(2/0/0)   28(2/1/0)
  7347.      bcc    (taken)                 6     0      6(0/0/0)    8(0/2/0)
  7348.      bcc.b    (not taken)             4     0      4(0/0/0)    4(0/1/0)
  7349.      bcc.w    (not taken)             6     0      6(0/0/0)    6(0/1/0)
  7350.      bcc.l    (not taken)             6     0      6(0/0/0)    8(0/2/0)
  7351.      dbcc    (false,cnt not expired) 6     0      6(0/0/0)    8(0/2/0)
  7352.      dbcc    (false,but cnt expired) 10    0     10(0/0/0)   13(0/3/0)
  7353.      dbcc    (true)                  6     0      6(0/0/0)    8(0/1/0)
  7354.      andi to sr                     4     0     12(0/0/0)   14(0/2/0)
  7355.      eori to sr                     4     0     12(0/0/0)   14(0/2/0)
  7356.      ori to sr                      4     0     12(0/0/0)   14(0/2/0)
  7357.      andi to ccr                    4     0     12(0/0/0)   14(0/2/0)
  7358.      eori to ccr                    4     0     12(0/0/0)   14(0/2/0)
  7359.      ori to ccr                     4     0     12(0/0/0)   14(0/2/0)
  7360.      bsr                            2     0      6(0/0/1)    9(0/2/1)
  7361. CIEA cas (succesful compare)        1     0     13(1/0/1)   13(1/1/1)
  7362. CIEA cas (unsuccesful compare)      1     0     11(1/0/0)   11(1/1/0)
  7363.      cas2 (succesful compare) (max) 2     0     24(2/0/2)   26(2/2/2)
  7364.      cas2 (unsuccesful compare)(max)2     0     24(2/0/0)   24(2/2/0)
  7365.      chk Dn,Dn (no Exception)       8     0      8(0/0/0)    8(0/1/0)
  7366.      chk Dn,Dn (Exception taken)    4     0     28(1/0/4)   30(1/3/4)
  7367.      chk EA,Dn (no Exception)       0     0      8(0/0/0)    8(0/1/0)
  7368.      chk EA,Dn (Exception taken)max 0     0     28(1/0/4)   30(1/3/4)
  7369. FIEA chk2 Mem,Rn (no Except.)max    2     0     18(1/0/0)   18(1/1/0)
  7370. FIEA chk2 Mem,Rn (Except.taken)mx   2     0     40(2/0/4)   42(2/3/4)
  7371.      JEA jmp                        4     0      4(0/0/0)    6(0/2/0)
  7372.      JEA jsr                        0     0      4(0/0/1)    7(0/2/1)
  7373. CEA  lea                            2     0      2(0/0/0)    2(0/1/0)
  7374.      link.w                         0     0      4(0/0/1)    5(0/1/1)
  7375.      link.l                         2     0      6(0/0/1)   7(0/2/1)
  7376.      nop                            0     0      2(0/0/0)    2(0/1/0)
  7377. CEA  pea                            0     2      4(0/0/1)    4(0/1/1)
  7378.      rtd                            2     0     10(1/0/0)   12(1/2/0)
  7379.      rtr                            1     0     12(2/0/0)   14(2/2/0)
  7380.      rts                            1     0      9(1/0/0)   11(1/2/0)
  7381.      unlk                           0     0      5(1/0/0)    5(1/1/0)
  7382.      bkpt                           1     0      9(1/0/0)    9(1/0/0)
  7383.      Interrupt (I-Stack)            0     0     23(2/0/4)   24(2/2/4)
  7384.      Interrupt (M-Stack)            0     0     33(2/0/8)   34(2/2/8)
  7385.      reset                          0     0     518(0/0/0)  518(0/1/0)
  7386.      stop                           0     0      8(0/0/0)    8(0/2/0)
  7387.      trace                          0     0     22(1/0/5)   24(1/2/5)
  7388.      trap #n                        0     0     18(1/0/5)   20(1/2/4)
  7389.      Illegal Instruction            0     0     18(1/0/5)   20(1/2/4)
  7390.      A-Line trap                    0     0     18(1/0/5)   20(1/2/4)
  7391.      F-Line trap                    0     0     18(1/0/5)   20(1/2/4)
  7392.      Priviledge Violation           0     0     18(1/0/5)   20(1/2/4)
  7393.      trapcc (Trap)                  2     0     22(1/0/5)   24(1/2/5)
  7394.      trapcc (No trap)               4     0      4(0/0/0)    4(0/1/0)
  7395.      trapcc.w (Trap)                5     0     24(1/0/5)   26(1/3/5)
  7396.      trapcc.w (No trap)             6     0      6(0/0/0)    6(0/1/0)
  7397.      trapcc.l (Trap)                6     0     26(1/0/5)   28(1/3/5)
  7398.      trapcc.l (No trap)             8     0      8(0/0/0)    8(0/2/0)
  7399.      trapv (Trap)                   2     0     22(1/0/5)   24(1/2/5)
  7400.      trapv (No trap)                4     0      4(0/0/0)    4(0/1/0)
  7401.      Bus Cycle Fault (Short)        0     0     36(1/0/10)  38(1/2/10)
  7402.      Bus Cycle Fault (Long)         0     0     62(1/0/24)  64(1/2/24)
  7403.      RTE (Normal Four Word)         1     0     18(4/0/0)   20(4/2/0)
  7404.      RTE (Six Word)                 1     0     18(4/0/0)   20(4/2/0)
  7405.      RTE (Throwaway)                1     0     12(4/0/0)   12(4/0/0)
  7406.      RTE (Coprocessor)              1     0     26(7/0/0)   26(7/2/0)
  7407.      RTE (Short Fault)              1     0     36(10/0/0)  26(10/2/0)
  7408.      RTE (Long Fault)               1     0     76(25/0/0)  76(25/2/0)
  7409.  
  7410. Fetch Effective Address (FEA)
  7411.                         Head        Tail         I-Cache     No-Cache
  7412.  Dn                     -           -            0(0/0/0)    0(0/0/0)
  7413.  An                     -           -            0(0/0/0)    0(0/0/0)
  7414.  (An)                   1           1            3(1/0/0)    3(1/0/0)
  7415.  (An)+                  0           1            3(1/0/0)    3(1/0/0)
  7416.  -(An)                  2           2            4(1/0/0)    4(1/0/0)
  7417.  (d16,An)               2           2            4(1/0/0)    4(1/1/0)
  7418.  (d16,PC)               2           2            4(1/0/0)    4(1/1/0)
  7419.  (xxx).w                2           2            4(1/0/0)    4(1/1/0)
  7420.  (xxx).l                1           0            4(1/0/0)    5(1/1/0)
  7421.  #(data).b              2           0            2(0/0/0)    2(0/1/0)
  7422.  #(data).w              2           0            2(0/0/0)    2(0/1/0)
  7423.  #(data).l              4           0            4(0/0/0)    4(0/1/0)
  7424.  (d16,An)               2           0            6(1/0/0)    7(1/1/0)
  7425.  (d16,PC)               2           0            6(1/0/0)    7(1/1/0)
  7426.  (d16,An,Xn)            4           0            6(1/0/0)    7(1/1/0)
  7427.  (d16,PC,Xn)            4           0            6(1/0/0)    7(1/1/0)
  7428.  ([d16,An])             2           0           10(2/0/0)   10(2/1/0)
  7429.  ([d16,PC])             2           0           10(2/0/0)   10(2/1/0)
  7430.  ([d16,An],Xn)          2           0           10(2/0/0)   10(2/1/0)
  7431.  ([d16,PC],Xn)          2           0           10(2/0/0)   10(2/1/0)
  7432.  ([d16,An],d16)         2           0           12(2/0/0)   13(2/2/0)
  7433.  ([d16,PC],d16)         2           0           12(2/0/0)   13(2/2/0)
  7434.  ([d16,An],Xn,d16)      2           0           12(2/0/0)   13(2/2/0)
  7435.  ([d16,PC],Xn,d16)      2           0           12(2/0/0)   13(2/2/0)
  7436.  ([d16,An],d32)         2           0           12(2/0/0)   14(2/2/0)
  7437.  ([d16,PC],d32)         2           0           12(2/0/0)   14(2/2/0)
  7438.  ([d16,An],Xn,d32)      2           0           12(2/0/0)   14(2/2/0)
  7439.  ([d16,PC],Xn,d32)      2           0           12(2/0/0)   14(2/2/0)
  7440.  (B)                    4           0            6(1/0/0)    7(1/1/0)
  7441.  (d16,B)                4           0            8(1/0/0)   10(1/1/0)
  7442.  (d32,B)                4           0           12(1/0/0)   13(1/2/0)
  7443.  ([B])                  4           0           10(2/0/0)   10(2/1/0)
  7444.  ([B].l)                4           0           10(2/0/0)   10(2/1/0)
  7445.  ([B],d16)              4           0           12(2/0/0)   13(2/1/0)
  7446.  ([B].l,d16)            4           0           12(2/0/0)   13(2/1/0)
  7447.  ([B],d32)              4           0           12(2/0/0)   14(2/2/0)
  7448.  ([B].l,d32)            4           0           12(2/0/0)   14(2/2/0)
  7449.  ([d16,B])              4           0           12(2/0/0)   13(2/1/0)
  7450.  ([d16,B].l)            4           0           12(2/0/0)   13(2/1/0)
  7451.  ([d16,B],d16)          4           0           14(2/0/0)   16(2/2/0)
  7452.  ([d16,B].l,d16)        4           0           14(2/0/0)   16(2/2/0)
  7453.  ([d16,B],d32)          4           0           14(2/0/0)   17(2/2/0)
  7454.  ([d16,B].l,d32)        4           0           14(2/0/0)   17(2/2/0)
  7455.  ([d32,B])              4           0           16(2/0/0)   17(2/2/0)
  7456.  ([d32,B].l)            4           0           16(2/0/0)   17(2/2/0)
  7457.  ([d32,B],d16)          4           0           18(2/0/0)   20(2/2/0)
  7458.  ([d32,B].l,d16)        4           0           18(2/0/0)   20(2/2/0)
  7459.  ([d32,B],d32)          4           0           18(2/0/0)   21(2/3/0)
  7460.  ([d32,B].l,d32)        4           0           18(2/0/0)   21(2/3/0)
  7461.            
  7462. Fetch Immediate Effective Address (FIEA)
  7463.                                     Head  Tail   I-Cache     No-Cache
  7464.  #(data).w,Dn                       2+op  0      2(0/0/0)    2(0/1/0)
  7465.  #(data).l,Dn                       4+op  0      4(0/0/0)    4(0/1/0)
  7466.  #(data).w,(An)                     1     1      3(1/0/0)    4(1/1/0)
  7467.  #(data).l,(An)                     1     0      4(1/0/0)    5(1/1/0)
  7468.  #(data).w,(An)+                    2     1      5(1/0/0)    5(1/1/0)
  7469.  #(data).l,(An)+                    4     1      7(1/0/0)    7(1/1/0)
  7470.  #(data).w,-(An)                    2     2      4(1/0/0)    4(1/1/0)
  7471.  #(data).l,-(An)                    2     0      4(1/0/0)    5(1/1/0)
  7472.  #(data).w,(d16,An)                 2     0      4(1/0/0)    5(1/1/0)
  7473.  #(data).l,(d16,An)                 4     0      6(1/0/0)    8(1/2/0)
  7474.  #(data).w,(xxx).w                  4     2      6(1/0/0)    6(1/1/0)
  7475.  #(data).l,(xxx).w                  6     2      8(1/0/0)    8(1/2/0)
  7476.  #(data).w,(xxx).l                  3     0      6(1/0/0)    7(1/2/0)
  7477.  #(data).l,(xxx).l                  5     0      8(1/0/0)    9(1/2/0)
  7478.  #(data).w,#(data).l                6+op  0      6(0/0/0)    6(0/2/0)
  7479.  #(data).w,(d8,An,Xn)               6     2      8(1/0/0)    8(1/2/0)
  7480.  #(data).w,(d8,PC,Xn)               6     2      8(1/0/0)    8(1/2/0)
  7481.  #(data).l,(d8,An,Xn)               8     2     10(1/0/0)   10(1/2/0)
  7482.  #(data).l,(d8,PC,Xn)               8     2     10(1/0/0)   10(1/2/0)
  7483.  #(data).w,(d16,An)                 4     0      8(1/0/0)    9(1/2/0)
  7484.  #(data).w,(d16,PC)                 4     0      8(1/0/0)    9(1/2/0)
  7485.  #(data).l,(d16,An)                 6     0     10(1/0/0)   11(1/2/0)
  7486.  #(data).l,(d16,PC)                 6     0     10(1/0/0)   11(1/2/0)
  7487.  #(data).w,(d16,An,Xn)              6     0      8(1/0/0)    9(1/2/0)
  7488.  #(data).w,(d16,PC,Xn)              6     0      8(1/0/0)    9(1/2/0)
  7489.  #(data).l,(d16,An,Xn)              8     0     10(1/0/0)   11(1/2/0)
  7490.  #(data).l,(d16,PC,Xn)              8     0     10(1/0/0)   11(1/2/0)
  7491.  #(data).w,([d16,An])               4     0     12(2/0/0)   14(2/2/0)
  7492.  #(data).w,([d16,PC])               4     0     12(2/0/0)   14(2/2/0)
  7493.  #(data).l,([d16,An])               6     0     14(2/0/0)   14(2/2/0)
  7494.  #(data).l,([d16,PC])               6     0     14(2/0/0)   14(2/2/0)
  7495.  #(data).w,([d16,An],Xn)            4     0     12(2/0/0)   12(2/2/0)
  7496.  #(data).w,([d16,PC],Xn)            4     0     12(2/0/0)   12(2/2/0)
  7497.  #(data).l,([d16,An],Xn)            6     0     14(2/0/0)   14(2/2/0)
  7498.  #(data).l,([d16,PC],Xn)            6     0     14(2/0/0)   14(2/2/0)
  7499.  #(data).w,([d16,An],d16)           4     0     14(2/0/0)   15(2/2/0)
  7500.  #(data).w,([d16,PC],d16)           4     0     14(2/0/0)   15(2/2/0)
  7501.  #(data).l,([d16,An],d16)           6     0     16(2/0/0)   17(2/3/0)
  7502.  #(data).l,([d16,PC],d16)           6     0     16(2/0/0)   17(2/3/0)
  7503.  #(data).w,([d16,An],Xn,d16)        4     0     14(2/0/0)   15(2/2/0)
  7504.  #(data).w,([d16,PC],Xn,d16)        4     0     14(2/0/0)   15(2/2/0)
  7505.  #(data).l,([d16,An],Xn,d16)        6     0     16(2/0/0)   17(2/3/0)
  7506.  #(data).l,([d16,PC],Xn,d16)        6     0     16(2/0/0)   17(2/3/0)
  7507.  #(data).w,([d16,An],d32)           4     0     14(2/0/0)   16(2/3/0)
  7508.  #(data).w,([d16,PC],d32)           4     0     14(2/0/0)   16(2/3/0)
  7509.  #(data).l,([d16,An],d32)           6     0     16(2/0/0)   18(2/3/0)
  7510.  #(data).l,([d16,PC],d32)           6     0     16(2/0/0)   18(2/3/0)
  7511.  #(data).w,([d16,An],Xn,d32)        4     0     14(2/0/0)   16(2/3/0)
  7512.  #(data).w,([d16,PC],Xn,d32)        4     0     14(2/0/0)   16(2/3/0)
  7513.  #(data).l,([d16,An],Xn,d32)        6     0     16(2/0/0)   18(2/3/0)
  7514.  #(data).l,([d16,PC],Xn,d32)        6     0     16(2/0/0)   18(2/3/0)
  7515.  #(data).w,(B)                      6     0      8(1/0/0)    9(1/1/0)
  7516.  #(data).l,(B)                      8     0     10(1/0/0)   11(1/2/0)
  7517.  #(data).w,(d16,B)                  6     0     10(1/0/0)   12(1/2/0)
  7518.  #(data).l,(d16,B)                  8     0     12(1/0/0)   14(1/2/0)
  7519.  #(data).w,(d32,B)                  10    0     14(1/0/0)   16(1/2/0)
  7520.  #(data).l,(d32,B)                  12    0     16(1/0/0)   18(1/3/0)
  7521.  #(data).w,([B])                    6     0     12(2/0/0)   12(2/1/0)
  7522.  #(data).l,([B])                    8     0     14(2/0/0)   14(2/2/0)
  7523.  #(data).w,([B].l)                  6     0     12(2/0/0)   12(2/1/0)
  7524.  #(data).l,([B].l)                  8     0     14(2/0/0)   14(2/2/0)
  7525.  #(data).w,([B],d16)                6     0     14(2/0/0)   15(2/2/0)
  7526.  #(data).l,([B],d16)                8     0     16(2/0/0)   17(2/2/0)
  7527.  #(data).w,([B].l,d16)              6     0     14(2/0/0)   15(2/2/0)
  7528.  #(data).l,([B].l,d16)              8     0     16(2/0/0)   17(2/2/0)
  7529.  #(data).w,([B],d32)                6     0     14(2/0/0)   16(2/2/0)
  7530.  #(data).l,([B],d32)                8     0     16(2/0/0)   18(2/3/0)
  7531.  #(data).w,([B].l,d32)              6     0     14(2/0/0)   16(2/2/0)
  7532.  #(data).l,([B].l,d32)              8     0     16(2/0/0)   18(2/3/0)
  7533.  #(data).w,([d16,B])                6     0     14(2/0/0)   15(2/2/0)
  7534.  #(data).l,([d16,B])                8     0     16(2/0/0)   17(2/2/0)
  7535.  #(data).w,([d16,B].l)              6     0     14(2/0/0)   15(2/2/0)
  7536.  #(data).l,([d16,B].l)              8     0     16(2/0/0)   17(2/2/0)
  7537.  #(data).w,([d16,B],d16)            6     0     16(2/0/0)   18(2/2/0)
  7538.  #(data).l,([d16,B],d16)            8     0     18(2/0/0)   20(2/3/0)
  7539.  #(data).w,([d16,B].l,d16)          6     0     16(2/0/0)   18(2/2/0)
  7540.  #(data).l,([d16,B].l,d16)          8     0     18(2/0/0)   20(2/3/0)
  7541.  #(data).w,([d16,B],d32)            6     0     16(2/0/0)   19(2/3/0)
  7542.  #(data).l,([d16,B],d32)            8     0     18(2/0/0)   21(2/3/0)
  7543.  #(data).w,([d16,B].l,d32)          6     0     16(2/0/0)   19(2/3/0)
  7544.  #(data).l,([d16,B].l,d32)          8     0     18(2/0/0)   21(2/3/0)
  7545.  #(data).w,([d32,B])                6     0     18(2/0/0)   19(2/2/0)
  7546.  #(data).l,([d32,B])                8     0     20(2/0/0)   21(2/3/0)
  7547.  #(data).w,([d32,B].l)              6     0     18(2/0/0)   19(2/2/0)
  7548.  #(data).l,([d32,B].l)              8     0     20(2/0/0)   21(2/3/0)
  7549.  #(data).w,([d32,B],d16)            6     0     20(2/0/0)   22(2/3/0)
  7550.  #(data).l,([d32,B],d16)            8     0     22(2/0/0)   24(2/3/0)
  7551.  #(data).w,([d32,B].l,d16)          6     0     20(2/0/0)   22(2/3/0)
  7552.  #(data).l,([d32,B].l,d16)          8     0     22(2/0/0)   24(2/3/0)
  7553.  #(data).w,([d32,B],d32)            6     0     20(2/0/0)   23(2/3/0)
  7554.  #(data).l,([d32,B],d32)            8     0     22(2/0/0)   25(2/4/0)
  7555.  #(data).w,([d32,B].l,d32)          6     0     20(2/0/0)   23(2/3/0)
  7556.  #(data).l,([d32,B].l,d32)          8     0     22(2/0/0)   25(2/4/0)
  7557.  
  7558.  
  7559. Calculate Effective Address (CEA)
  7560.                         Head        Tail         I-Cache     No-Cache
  7561.  Dn                     -           -            0(0/0/0)    0(0/0/0)
  7562.  An                     -           -            0(0/0/0)    0(0/0/0)
  7563.  (An)                   2+op        0            2(0/0/0)    2(0/0/0)
  7564.  (An)+                  0           0            2(0/0/0)    2(0/0/0)
  7565.  -(An)                  2+op        0            2(0/0/0)    2(0/0/0)
  7566.  (d16,An)               2+op        0            2(0/0/0)    2(0/0/0)
  7567.  (d16,PC)               2+op        0            2(0/0/0)    2(0/1/0)
  7568.  (xxx).w                2+op        0            2(0/0/0)    2(0/1/0)
  7569.  (xxx).l                4+op        0            4(0/0/0)    4(0/1/0)
  7570.  (d8,An,Xn)             4+op        0            4(0/0/0)    4(0/1/0)
  7571.  (d8,PC,Xn)             4+op        0            4(0/0/0)    4(0/1/0)
  7572.  (d16,An)               2           0            6(0/0/0)    6(0/1/0)
  7573.  (d16,PC)               2           0            6(0/0/0)    6(0/1/0)
  7574.  (d16,An,Xn)            6+op        0            6(0/0/0)    6(0/1/0)
  7575.  (d16,PC,Xn)            6+op        0            6(0/0/0)    6(0/1/0)
  7576.  ([d16,An])             2           0           10(1/0/0)   10(1/1/0)
  7577.  ([d16,PC])             2           0           10(1/0/0)   10(1/1/0)
  7578.  ([d16,An],Xn)          2           0           10(1/0/0)   10(1/1/0)
  7579.  ([d16,PC],Xn)          2           0           10(1/0/0)   10(1/1/0)
  7580.  ([d16,An],d16)         2           0           12(1/0/0)   13(1/2/0)
  7581.  ([d16,PC],d16)         2           0           12(1/0/0)   13(1/2/0)
  7582.  ([d16,An],Xn,d16)      2           0           12(1/0/0)   13(1/2/0)
  7583.  ([d16,PC],Xn,d16)      2           0           12(1/0/0)   13(1/2/0)
  7584.  ([d16,An],d32)         2           0           12(1/0/0)   13(1/2/0)
  7585.  ([d16,PC],d32)         2           0           12(1/0/0)   13(1/2/0)
  7586.  ([d16,An],Xn,d32)      2           0           12(1/0/0)   11(1/2/0)
  7587.  ([d16,PC],Xn,d32)      2           0           12(1/0/0)   13(1/2/0)
  7588.  (B)                    6+op        0            6(0/0/0)    6(0/1/0)
  7589.  (d16,B)                4           0            8(0/0/0)    9(0/1/0)
  7590.  (d32,B)                4           0           12(0/0/0)   12(0/2/0)
  7591.  ([B])                  4           0           10(1/0/0)   10(1/1/0)
  7592.  ([B].l)                4           0           10(1/0/0)   10(1/1/0)
  7593.  ([B],d16)              4           0           12(1/0/0)   13(1/1/0)
  7594.  ([B].l,d16)            4           0           12(1/0/0)   13(1/1/0)
  7595.  ([B],d32)              4           0           12(1/0/0)   13(1/2/0)
  7596.  ([B].l,d32)            4           0           12(2/0/0)   13(1/2/0)
  7597.  ([d16,B])              4           0           12(1/0/0)   13(1/1/0)
  7598.  ([d16,B].l)            4           0           12(1/0/0)   13(1/1/0)
  7599.  ([d16,B],d16)          4           0           14(1/0/0)   16(1/2/0)
  7600.  ([d16,B].l,d16)        4           0           14(1/0/0)   16(1/2/0)
  7601.  ([d16,B],d32)          4           0           14(1/0/0)   16(1/2/0)
  7602.  ([d16,B].l,d32)        4           0           14(1/0/0)   16(1/2/0)
  7603.  ([d32,B])              4           0           16(1/0/0)   17(1/2/0)
  7604.  ([d32,B].l)            4           0           16(1/0/0)   17(1/2/0)
  7605.  ([d32,B],d16)          4           0           18(1/0/0)   20(1/2/0)
  7606.  ([d32,B].l,d16)        4           0           18(1/0/0)   20(1/2/0)
  7607.  ([d32,B],d32)          4           0           18(1/0/0)   20(1/3/0)
  7608.  ([d32,B].l,d32)        4           0           18(1/0/0)   20(1/3/0)
  7609.  
  7610.  
  7611.  
  7612. Calculate Immediate Effective Address (CIEA)
  7613. Calculate Immediate Effective Address (CIEA) for WORDS
  7614.           (for LONGS add 2 for head and cycle count)
  7615.  
  7616.                         Head    Tail         I-Cache    No-Cache
  7617.  Dn                     2+op        0            2(0/0/0)    0(0/0/0)
  7618.  (An)                   2           0            2(0/0/0)    2(0/0/0)
  7619.  (An)+                  2+op        0            4(0/0/0)    2(0/0/0)
  7620.  -(An)                  2+op        0            2(0/0/0)    2(0/0/0)
  7621.  (d16,An)               4+op        0            4(0/0/0)    2(0/0/0)
  7622.  (d16,PC)               4+op        0            4(0/0/0)    2(0/1/0)
  7623.  (xxx).w                4+op        0            4(0/0/0)    2(0/1/0)
  7624.  (xxx).l                6+op        0            6(0/0/0)    4(0/1/0)
  7625.  (d8,An,Xn)             6+op        0            6(0/0/0)    4(0/1/0)
  7626.  (d8,PC,Xn)             6+op        0            6(0/0/0)    4(0/1/0)
  7627.  (d16,An)               4           0            8(0/0/0)    6(0/1/0)
  7628.  (d16,PC)               4           0            8(0/0/0)    6(0/1/0)
  7629.  (d16,An,Xn             4+op        0            8(0/0/0)    6(0/1/0)
  7630.  (d16,PC,Xn             4+op        0            8(0/0/0)    6(0/1/0)
  7631.  ([d16,An])             4           0           12(1/0/0)    6(1/1/0)
  7632.  ([d16,PC])             4           0           12(1/0/0)    6(1/1/0)
  7633.  ([d16,An],Xn)          8+op        0           10(2/0/0)   10(2/1/0)
  7634.  ([d16,PC],Xn)          8+op        0            0(2/0/0)   10(2/1/0)
  7635.  ([d16,An],d16)         4           0            2(2/0/0)   13(2/2/0)
  7636.  ([d16,PC],d16)         4           0            2(2/0/0)   13(2/2/0)
  7637.  ([d16,An],Xn,d16)      4           0            2(2/0/0)   13(2/2/0)
  7638.  ([d16,PC],Xn,d16)      4           0            2(2/0/0)   13(2/2/0)
  7639.  ([d16,An],d32)         4           0            2(2/0/0)   14(2/2/0)
  7640.  ([d16,PC],d32)         4           0            2(2/0/0)   14(2/2/0)
  7641.  ([d16,An],Xn,d32)      4           0            2(2/0/0)   14(2/2/0)
  7642.  ([d16,PC],Xn,d32)      4           0            2(2/0/0)   14(2/2/0)
  7643.  (B)                    8+op        0            6(1/0/0)    7(1/1/0)
  7644.  (d16,B)                6           0            8(1/0/0)   10(1/1/0)
  7645.  (d32,B)                6           0           12(1/0/0)   13(1/2/0)
  7646.  ([B])                  6           0           12(1/0/0)   12(1/1/0)
  7647.  ([B].l)                6           0           12(1/0/0)   12(1/1/0)
  7648.  ([B],d16)              6           0           14(1/0/0)   15(1/2/0)
  7649.  ([B].l,d16)            6           0           14(1/0/0)   15(1/2/0)
  7650.  ([B],d32)              6           0           14(1/0/0)   15(1/2/0)
  7651.  ([B].l,d32)            6           0           14(1/0/0)   15(1/2/0)
  7652.  ([d16,B])              6           0           14(1/0/0)   15(1/2/0)
  7653.  ([d16,B].l)            6           0           14(1/0/0)   15(1/2/0)
  7654.  ([d16,B],d16)          6           0           16(1/0/0)   18(1/2/0)
  7655.  ([d16,B].l,d16)        6           0           16(1/0/0)   18(1/2/0)
  7656.  ([d16,B],d32)          6           0           16(1/0/0)   18(1/2/0)
  7657.  ([d16,B].l,d32)        6           0           16(1/0/0)   18(1/2/0)
  7658.  ([d32,B])              6           0           18(1/0/0)   19(1/2/0)
  7659.  ([d32,B].l)            6           0           18(2/0/0)   19(2/2/0)
  7660.  ([d32,B],d16)          6           0           20(1/0/0)   22(1/3/0)
  7661.  ([d32,B].l,d16)        6           0           20(1/0/0)   22(1/3/0)
  7662.  ([d32,B],d32)          6           0           22(1/0/0)   24(1/3/0)
  7663.  ([d32,B].l,d32)        6           0           22(1/0/0)   24(1/3/0)
  7664.  
  7665.  
  7666. Jump Effective Address (JEA)
  7667.                      Head   Tail    I-Cache       No-Cache
  7668.  (An)                2+op   0       2(0/0/0)      2(0/0/0)
  7669.  (d16,An)            4+op   0       4(0/0/0)      4(0/0/0)
  7670.  $00.w               2+op   0       2(0/0/0)      2(0/0/0)
  7671.  $00.l               2+op   0       2(0/0/0)      2(0/0/0)
  7672.  (d8,An,Xn)          6+op   0       6(0/0/0)      6(0/0/0)
  7673.  (d8,An,PC)          6+op   0       6(0/0/0)      6(0/0/0)
  7674.  (d16,An)            2      0       6(0/0/0)      6(0/0/0)
  7675.  (d16,PC)            2      0       6(0/0/0)      6(0/0/0)
  7676.  (d16,An,Xn)         6+op   0       6(0/0/0)      6(0/0/0)
  7677.  (d16,PC,Xn)         6+op   0       6(0/0/0)      6(0/0/0)
  7678.  ([d16,An])          2      0      10(1/0/0)     10(1/1/0)
  7679.  ([d16,PC])          2      0      10(1/0/0)     10(1/1/0)
  7680.  ([d16,An],Xn)       2      0      10(1/0/0)     10(1/1/0)
  7681.  ([d16,PC],Xn)       2      0      10(1/0/0)     10(1/1/0)
  7682.  ([d16,An],d16)      2      0      12(1/0/0)     12(1/2/0)
  7683.  ([d16,PC],d16)      2      0      12(1/0/0)     12(1/2/0)
  7684.  ([d16,An],Xn,d16)   2      0      12(1/0/0)     12(1/2/0)
  7685.  ([d16,PC],Xn,d16)   2      0      12(1/0/0)     12(1/2/0)
  7686.  ([d16,An],d32)      2      0      12(1/0/0)     12(1/2/0)
  7687.  ([d16,PC],d32)      2      0      12(1/0/0)     12(1/2/0)
  7688.  ([d16,An],Xn,d32)   2      0      12(1/0/0)     12(1/2/0)
  7689.  ([d16,PC],Xn,d32)   2      0      12(1/0/0)     12(1/2/0)
  7690.  (B)                 6+op   0       6(0/0/0)      6(0/0/0)
  7691.  (d16,B)             4      0       8(0/0/0)      9(0/1/0)
  7692.  (d32,B)             4      0      12(0/0/0)     13(0/1/0)
  7693.  ([B])               4      0      10(1/0/0)     10(1/1/0)
  7694.  ([B].l)             4      0      10(1/0/0)     10(1/1/0)
  7695.  ([B],d16)           4      0      12(1/0/0)     12(1/1/0)
  7696.  ([B].l,d16)         4      0      12(1/0/0)     12(1/1/0)
  7697.  ([B],d32)           4      0      12(1/0/0)     12(1/1/0)
  7698.  ([B].l,d32)         4      0      12(1/0/0)     12(1/1/0)
  7699.  ([d16,B])           4      0      12(1/0/0)     13(1/1/0)
  7700.  ([d16,B].l)         4      0      12(1/0/0)     13(1/1/0)
  7701.  ([d16,B],d16)       4      0      14(1/0/0)     15(1/1/0)
  7702.  ([d16,B].l,d16)     4      0      14(1/0/0)     15(1/1/0)
  7703.  ([d16,B],d32)       4      0      14(1/0/0)     15(1/1/0)
  7704.  ([d16,B].l,d32)     4      0      14(1/0/0)     15(1/1/0)
  7705.  ([d32,B])           4      0      16(1/0/0)     17(1/2/0)
  7706.  ([d32,B].l)         4      0      16(1/0/0)     17(1/2/0)
  7707.  ([d32,B],d16)       4      0      18(1/0/0)     19(1/2/0)
  7708.  ([d32,B].l,d16)     4      0      18(1/0/0)     19(1/2/0)
  7709.  ([d32,B],d32)       4      0      18(1/0/0)     19(1/2/0)
  7710.  ([d32,B].l,d32)     4      0      18(1/0/0)     19(1/2/0)
  7711. +--------------------------------------------------------------------------+
  7712. |        Optimizations
  7713. +--------------------------------------------------------------------------+
  7714.  
  7715. Clr.l    -(a0)    is 25% faster than
  7716. Clr.l    (a0)+
  7717.  
  7718.  move.l (a0,d0.l)    is faster than
  7719.  move.l (a0,d0.w)    
  7720.         same with adda.w <-> adda.l etc.
  7721.  
  7722.  move.b d0,-(a7)    will decrease a7 with 2!
  7723.  
  7724. Never use those silly #xx,([a0]) new modes, they are slower than
  7725.  move.l (a0),a0
  7726.  move.l #xx,(a0)
  7727. ..unless you have no extra spare registers, but... that's rare.
  7728.  
  7729.  
  7730. time optimization on the Falcon is more like sparing BUS than CPU.
  7731. The st-ram is just too slow..... Adjust your writes to st-ram
  7732. Adjusting memory reads will not speed up, unless you get rid of a
  7733. whole instruction :).
  7734.  
  7735. The interrupts are exceedingly slow.  A simple movem*2  Trap and RTE
  7736. will take an enormous amount of cycles.
  7737.  
  7738.  movem.l all,-(sp)
  7739.  movem.l (sp)+,all
  7740.  rte
  7741.  
  7742. will take about 80 Cycles... ok, hehe...why use all regs.... ;-)
  7743.                                                                                                                                                                                                                         
  7744.